题目描述
我们现在不满足于判断能否构成三角,还想判断构成的三角形的形状。
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
【数据范围】
输入不超过10^4。
输入保证三角形属于且只属于4中情况中的1种。
虽然等边三角形也满足等腰三角形的条件,但在本程序中应判定为等边三角形。
———————————————————————————————————————————
#include<iostream>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
if(a==b&&b==c)
{
cout<<"equilateral";//是等边三角形
return 0;
}
else if(a==b||b==c||a==c)
{
cout<<"isosceles";//是等腰三角形
return 0;
}
else if((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==b*b+a*a))
{
cout<<"right-angled";//是直角三角形
return 0;
}
else
{
cout<<"none";//否则输出"none"
return 0;
}
}