判断能否构成三角形
问题描述:
输入三角形3条边的长度值(均为正整数),判断是否能为直角三角形的3个边长。如果可以,则输出yes,如果不能,则输出no。如果根本无法构成三角形,则输出not a triangle。
分析过程:
首先我们要考虑构成三角形的条件:
任意两边之和大于第三边:a + b > c,b + c > a,a + c > b。
任意两边之差小于第三边:|a - b| < c,|b - c| < a,|a - c| < b。
若构成直角三角形:
aa+bb=c*c
我们应该先判断能否构成三角形,然后在判断能否构成直角三角形
再就是三条边均为正整数,我们定义成int即可
明白这些我盟就可以写代码啦!
代码实现:
#include<stdio.h>
#include<math.h>
int main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if((a + b <= c||b + c <= a||a + c <= b)||(fabs(a-b)>c||(fabs(b-c)>a)||(fabs(a-c)>b))||(a<=0||b<=0||c<=0))//判断条件要理清
printf("not a triangle");
if(a*a+b*b==c*c)
{
printf("yes");
}
else
{
printf("no");
}
return 0;
}
浙公网安备 33010602011771号