三角形状
题目描述
我们现在不满足于判断能否构成三角,还想判断构成的三角形的形状。
1.若三角形中有两条边长相等,这个三角形是等腰三角形
2.若三角形一边长平方等于另两边长平方和,这个三角形是直角三角形。
3.若三角形的三条边都相等,这个三角形是等边三角形。
输入三角形的三边长度,判断三角形是等腰三角形、直角三角形还是等边三角形。(输入保证能构成三角型)
若是等腰三角形,输出"isosceles"
若是等边三角形,输出"equilateral"
若是直角三角形,输出"right-angled"
若三者都不是,输出"none"
以上输出应不带引号。
输入格式
一行,三个正整数,代表三角形三边长,以空格分隔。
输出格式
一行,三角形的形状。
样例 #1
样例输入 #1
17 8 15
样例输出 #1
right-angled
样例 #2
样例输入 #2
1001 1001 1
样例输出 #2
isosceles
样例 #3
样例输入 #3
5 7 8
样例输出 #3
none
提示
输入不超过 1 0 4 10^4 104。
输入保证三角形属于且只属于4中情况中的1种。
虽然等边三角形也满足等腰三角形的条件,但在本程序中应判定为等边三角形。
答案
#include<bits/stdc++.h>
using namespace std;
int main(){
int a,b,c;
cin >> a >> b >> c;
if ((a==b and a!=c and b!=c)or(a==c and a!=b and b!=c)or(c==b and a!=c and a!=b)){
cout << "isosceles";
}
else if (a==b and b==c and a==c){
cout << "equilateral";
}
else if (a*a+b*b==c*c or a*a+c*c==b*b or b*b+c*c==a*a){
cout << "right-angled";
}
else{
cout << "none";
}
return 0;
}