从键盘上输入三个实数,它们分别代表三条线段的长度,请写一个判断这三条线段所 组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的 C 程序;如果能构成 三角形,求出三角形的面积(取小数 2 位)。
时间: 2024-05-11 16:15:11 浏览: 108
好的,这是一个关于计算三角形类型和面积的问题,那我先来回答吧。以下是C语言代码。
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
printf("请输入三角形三条边长:");
scanf("%lf %lf %lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) { // 如果能构成三角形
if (a == b && b == c) { // 判断等边三角形
printf("该三角形为等边三角形,面积为%.2lf", sqrt(3)/4*a*a);
} else if (a == b || a == c || b == c) { // 判断等腰三角形
double p = (a + b + c) / 2;
double area = sqrt(p*(p-a)*(p-b)*(p-c));
printf("该三角形为等腰三角形,面积为%.2lf", area);
} else { // 不等边三角形
double p = (a + b + c) / 2;
double area = sqrt(p*(p-a)*(p-b)*(p-c));
printf("该三角形为不等边三角形,面积为%.2lf", area);
}
} else { // 不能构成三角形
printf("这三条线段无法组成三角形!");
}
return 0;
}
```
希望对你有帮助!
阅读全文