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

时间:2021-09-17 12:15:19

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

#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;
}

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

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

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