输入三角形3条边的长度值(均为正整数),判断是否能够为直角三角形的3个边长,如果可以,则输出yes,如果不能,则输出no。如果无法构成三角形,则输出not a triangle。
#include <stdio.h>
int main()
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
t=a;
a=b;
b=t;
}
if(a>c)
{
t=a;
a=c;
c=t;
}
if(b>c)
{
t=b;
b=c;
c=t;
}
if((a+b)>c&&(c-a)<b)
{
if((a*a+b*b)==c*c)
{
printf("Yes");
}
else
{
printf("NO");
}
}
else
{
printf("not a triangle");
}
}
解题关键:将3条边的长度由小到大进行排序
构成三角形的条件 两边之和大于第三边,两边之差小于第三边。