C语言输入三角形的三条边a,b,c,判断它们能否构成三角形,若能,则指出是何种三角形:等腰三角形、直角三角形、等腰直角三角形,一般三角形。若不能,则输出“不是三角形\n” 浮点数的运算允许的误差在0.1范围内即可。
时间: 2023-12-02 09:04:48 浏览: 35
好的,以下是C语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c;
printf("请输入三角形的三边长:\n");
scanf("%f %f %f", &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("等边三角形\n");
}
else if(fabs(a - b) <= 0.1 || fabs(a - c) <= 0.1 || fabs(b - c) <= 0.1) { // 判断是否为等腰三角形
if(fabs(sqrt(a*a + b*b) - c) <= 0.1 || fabs(sqrt(a*a + c*c) - b) <= 0.1 || fabs(sqrt(b*b + c*c) - a) <= 0.1) { // 判断是否为直角三角形
printf("等腰直角三角形\n");
}
else {
printf("等腰三角形\n");
}
}
else if(fabs(sqrt(a*a + b*b) - c) <= 0.1 || fabs(sqrt(a*a + c*c) - b) <= 0.1 || fabs(sqrt(b*b + c*c) - a) <= 0.1) { // 判断是否为直角三角形
printf("直角三角形\n");
}
else {
printf("一般三角形\n");
}
}
else {
printf("不是三角形\n");
}
return 0;
}
```
这个程序会根据用户输入的三角形三边长,判断其是否能构成三角形,并且输出其类型。注意,浮点数的运算允许的误差在0.1范围内。