C语言下面程序用于输入三角形的三条边a,b,c,判断它们能否构成三角形,若能则指出是何种三角形:等边三角形、等腰三角形、直角三角形、等腰直角三角形,一般三角形。允许的浮点数计算误差在0.1范围内。 注意:请将修改正确后的完整源程序拷贝粘贴到答题区内。 对于没有错误的语句,请不要修改,修改原本正确的语句也要扣分。 当且仅当错误全部改正,且程序运行结果调试正确,才给加5分。 改错时不能改变程序原有的意图,不能改变函数原型。 **输入输出格式要求:不要改变以下代码的输入输出格式。
时间: 2024-03-05 21:51:03 浏览: 196
C语言实验-从键盘输入三角形三个边的长度,计算该三角形的面积。若输入的三条边不能构成三角形。则直接输出信息“不能构成三角形!”
5星 · 资源好评率100%
```
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) // 判断是否能构成三角形
{
if (fabs(a - b) < 0.1 && fabs(b - c) < 0.1) // 判断是否为等边三角形
printf("equilateral triangle\n");
else if (fabs(a - b) < 0.1 || fabs(a - c) < 0.1 || fabs(b - c) < 0.1) // 判断是否为等腰三角形
{
if (sqrt(a * a + b * b) - c < 0.1 || sqrt(a * a + c * c) - b < 0.1 || sqrt(b * b + c * c) - a < 0.1) // 判断是否为等腰直角三角形
printf("isosceles right triangle\n");
else
printf("isosceles triangle\n");
}
else if (sqrt(a * a + b * b) - c < 0.1 || sqrt(a * a + c * c) - b < 0.1 || sqrt(b * b + c * c) - a < 0.1) // 判断是否为直角三角形
printf("right triangle\n");
else
printf("general triangle\n");
}
else
printf("not a triangle\n");
return 0;
}
```
阅读全文