C语言判断三角形类型。输入三角形的三条边a,b,c,判断它们能否构成三角形。若能构成三角形,指出是何种三角形(等腰三角形、等边三角形、直角三角形、等腰直角三角形、一般三角形),计算精度:1E-1。 输入提示信息:"Input a,b,c:" 输入格式:"%f,%f,%f"
时间: 2024-02-24 10:53:14 浏览: 112
C语言实验-从键盘输入三角形三个边的长度,计算该三角形的面积。若输入的三条边不能构成三角形。则直接输出信息“不能构成三角形!”
5星 · 资源好评率100%
好的,这是一个关于 C 语言判断三角形类型的问题。以下是 C 语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
printf("Input a,b,c:");
scanf("%f,%f,%f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
if (fabs(a - b) < 1E-1 && fabs(b - c) < 1E-1) {
printf("等边三角形\n");
} else if (fabs(a - b) < 1E-1 || fabs(a - c) < 1E-1 || fabs(b - c) < 1E-1) {
if (fabs(a * a + b * b - c * c) < 1E-1 || fabs(a * a + c * c - b * b) < 1E-1 || fabs(b * b + c * c - a * a) < 1E-1) {
printf("等腰直角三角形\n");
} else {
printf("等腰三角形\n");
}
} else if (fabs(a * a + b * b - c * c) < 1E-1 || fabs(a * a + c * c - b * b) < 1E-1 || fabs(b * b + c * c - a * a) < 1E-1) {
printf("直角三角形\n");
} else {
printf("一般三角形\n");
}
} else {
printf("不能构成三角形\n");
}
return 0;
}
```
该程序中,首先输入三角形的三条边 a、b、c,然后判断它们能否构成三角形。如果能构成三角形,就进一步判断三角形的类型,并输出对应的提示信息。判断三角形类型的方法如下:
1. 如果三条边相等,则为等边三角形。
2. 如果有两条边相等,则为等腰三角形。如果这两条边构成直角,则为等腰直角三角形。
3. 如果三条边满足勾股定理,则为直角三角形。
4. 如果不满足以上条件,则为一般三角形。
注意,由于浮点数运算存在误差,判断相等时需要使用 fabs 函数比较绝对误差。本程序中使用的精度为 1E-1(即 0.1)。
阅读全文