#include <stdio.h>
int main()
{
double a, b, c;
printf("请输入三角形的三条边\n");
scanf("%lf%lf%lf", &a, &b, &c); //输入三条边
if (a + b > c && a + c > b && b + c > a) //先判断是否能构成三角形
{
if (a == b && b == c) //再判断较为特殊的三角形
{
printf("此为等边三角形\n");
}
else if (a == b || a == c || b == c) //判断是否等腰
{
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 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"); //若前面判断不能构成三角形
return 0;
}
通过if语句判断三条边关系,判断是否能够成三角形,若能构成三角形,使用if语句的嵌套判断三角形的种类。