题目描述
星宇博士给出了三角形的三条边的长度 �,�,�a,b,c,他希望禾木编写一个程序判断由这三条边能否够组成三角形,若能够组成三角形的话,这又是什么三角形。
输入格式
输入包括一行,包含三个整数 �,�,�a,b,c ,表示三角形三条边的长度。
输出格式
输出包括一行。
如果无法组成三角形,输出"No!";
如果能组成三角形,输出"三角形";
如果能组成等边三角形,输出"等边三角形";
如果能组成等腰三角形,输出"等腰三角形";
如果能组成直角三角形,输出"直角三角形";
如果能组成等腰直角三角形,输出"等腰直角三角形"。
样例 #1
样例输入 #1
1 1 1
Copy
样例输出 #1
等边三角形
Copy
样例 #2
样例输入 #2
1 1 2
Copy
样例输出 #2
No!
Copy
样例 #3
样例输入 #3
2 2 1
样例输出 #2
等腰三角形
提示
对于 50%50% 的数据,保证 1≤a≤b≤c≤1031≤a≤b≤c≤103。
对于 100%100% 的数据,保证 1≤a,b,c≤1031≤a,b,c≤103。
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int a[3];
cin>>a[0]>>a[1]>>a[2];
sort(a,a+3);
if(a[0]+a[1]<=a[2])cout<<"No!"<<endl;
else if(a[0]==a[1]&&a[1]==a[2])cout<<"等边三角形"<<endl;
else if(a[0]==a[1]&&a[1]*2==a[2])cout<<"等腰直角三角形"<<endl;
else if(a[0]*a[0]+a[1]*a[1]==a[2]*a[2])cout<<"直角三角形"<<endl;
else if(a[0]==a[1]||a[0]==a[2]||a[1]==a[2])cout<<"等腰三角形"<<endl;
else cout<<"三角形"<<endl;
return 0;
}//已AC,请放心食用
Copy
这里要注意一下,为了方便要先排下序,不然你自己也会晕了是吧😄 ; 还有,条件多的,如“等腰直角三角形”应排在“等腰三角形”和“直角三角形”前面,否则只会输出“等腰三角形”或“直角三角形”,然后直接跳过 最好用if…else if…else来编写