【C语言】判断三角形类型

根据输入的三角形的三边判断三角形的类型,并输出其面积和类型。

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
	float a, b, c;
	float s, area;
	printf("please input three line:\n");
	scanf("%f%f%f", &a, &b, &c);
	//判断是否满足三角形条件:两边之和是否大于第三边;
	if (a + b > c&&b + c > a&&a + c > a)
	{
		s = (a + b + c) / 2;
		area = (float)sqrt(s*(s - a)*(s - b)*(s - c));//三角形面积计算;
		printf("the area is: %f", area);
		printf("\n");
		//判断三条边是否相等;
		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("一般三角形\n");
		}
	}
	else
	{
		printf("三边不能构成三角形\n");
	}
	system("pause");
	return 0;
}

此处应该注意“&&”和“||”的正确使用:

使用“&&”逻辑与运算符,需要同时满足多种情况时。

使用“||”逻辑或运算符,需要满足几种情况中的一种时。

posted @ 2016-10-27 22:30  C/C++专题  阅读(16330)  评论(0编辑  收藏  举报