用C语言写读入三角形的三条边,进行如下的判断: 如果输入值不合法,输出 illegal triangle ; 如果输入值合法,两条较短边的平方和大于最长边的平方,则输出 acute triangle ,表示锐角三角形; 如果输入值合法,两条较短边的平方和等于最长边的平方,则输出 right triangle ,表示直角三角形; 如果输入值合法,两条较短边的平方和小于最长边的平方,则输出 obtuse triangle ,表示钝角三角形。
时间: 2024-03-07 17:46:29 浏览: 72
根据输入三角形三条边判断该三角形形状
好的,下面是一份用 C 语言实现的判断三角形类型的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
printf("请输入三角形的三条边长,用空格分隔:");
scanf("%f %f %f", &a, &b, &c);
if (a + b <= c || a + c <= b || b + c <= a) {
printf("illegal triangle\n");
} else {
float max_side = fmax(a, fmax(b, c));
float min_side = fmin(a, fmin(b, c));
float mid_side = a + b + c - max_side - min_side;
if (min_side * min_side + mid_side * mid_side > max_side * max_side) {
printf("acute triangle\n");
} else if (min_side * min_side + mid_side * mid_side == max_side * max_side) {
printf("right triangle\n");
} else {
printf("obtuse triangle\n");
}
}
return 0;
}
```
代码的思路是先读入三角形的三条边长,然后判断是否符合三角形的定义。如果不符合,输出 illegal triangle,否则根据三边长度关系判断三角形的类型,并输出相应的结果。注意需要使用 `<math.h>` 头文件中的 `fmin()` 和 `fmax()` 函数来求出最小值和最大值。
阅读全文