判断能否构成三角形

问题描述:

输入三角形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;
}

posted on 2024-01-29 08:32  Ysun74480  阅读(69)  评论(0)    收藏  举报