C语言例程:判断三角形的类型

//==================
//判断三角形的类型
//==================
#include <stdio.h>
#include <math.h>
 
void judge(int a, int b, int c)
{
	float s, area;
	if (a + b > c && b + c > a && a + c > b)			//两边之和大于第三边
	{
		s = (a + b + c) / 2;		
		area = (float)sqrt(s *(s - a)*(s - b)*(s - c)); //计算三角形的面积
		printf("面积是:%f\n", area); 					
		if (a == b && a == c)							//判断三条边是否相等
			printf("等边三角形\n");						//输出等边三角形         													
		else if (a == b || a == c || b == c)			//判断是否有两边相等         													
			printf("等腰三角形\n");						//等腰三角形
		else if ((a *a + b * b == c *c) || 				//两边的平方和等于第三边的平方
			(a * a + c * c == b *b) || 
			(b * b + c * c == a *a))         	
			printf("直角三角形\n");						//直角三角形
		else
			printf("普通三角形");						//普通三角形	
	}
	else
		printf("不能构成三角形");						//两边之和小于第三边不能组成三角形
}
 
int main()
{
	float a, b, c;
	printf("请输入三角形三条边长:");
	scanf("%f%f%f", &a, &b, &c);						//输入三条边
	judge(a,b,c);
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_45075787/article/details/114227647
今日推荐