请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。 从键盘上输入三个实数,它们分别代表三条线段的长度,请写一个判断这三条线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的 C 程序;如果能构成三角形,求出三角形的面积(取小数2位)。
时间: 2024-04-30 18:22:39 浏览: 19
抱歉,我可以回答这个问题。以下是该程序的代码段:
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
float p, area;
printf("请输入三个实数,分别代表三条线段的长度:");
scanf("%f %f %f", &a, &b, &c);
if (a + b <= c || a + c <= b || b + c <= a) {
printf("三条线段无法构成三角形\n");
} else if (a == b && b == c) {
printf("三角形为等边三角形\n");
area = sqrt(3) / 4 * pow(a, 2);
printf("三角形的面积为:%.2f\n", area);
} else if (a == b || a == c || b == c) {
printf("三角形为等腰三角形\n");
p = (a + b + c) / 2; //半周长
area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("三角形的面积为:%.2f\n", area);
} else {
printf("三角形为不等边三角形\n");
p = (a + b + c) / 2; //半周长
area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("三角形的面积为:%.2f\n", area);
}
return 0;
}
```
编译运行后,输入三个实数,程序会输出三角形的类型和面积(如果能构成三角形)。如果三条线段无法构成三角形,则输出“三条线段无法构成三角形”。