分析
输入三边-边是否为0-是否构成三角形-各种三角形。等腰直角三角形的边只能用近似值。用if-else嵌套结构。
代码
#include <stdio.h>
int main()
{
float a, b, c; //输入三边
while (1) //循环输入
{
printf("输入三边\n");
scanf("%f %f %f", &a, &b, &c);
if (a > 0 && b > 0 && c > 0) //三边不为0
{
if (a + b > c && a + c > b && b + c > a) //构成三角形
{
if (a*a + b*b == c*c || a*a + c*c == b*b || b*b + c*c == a*a) //直角
{
if (a == b || a == c || b == c) //等腰直角
printf("等腰直角三角形\n");
else //直角
printf("直角三角形\n");
}
else if (a == b || a == c || b == c) //有两边相等
{
if (a == b && b == c) //三边相等
printf("等边三角形\n");
else //等腰
printf("等腰三角形\n");
}
else //普通
printf("普通三角形\n");
}
else //不能构成三角形
printf("不能构成三角形\n");
}
else //边不是0
printf("三边要大于0!\n");
}
return 0;
}