从键盘上输入三个实数,它们分别代表三条线段的长度,编写一个C程序判断这三条 线段所组成的三角形属于什么类型(不等边,等腰,等边或不构成三角形)的;如果能构成 三角形,求该三角形的面积(取2位小数)。
时间: 2023-04-05 15:02:43 浏览: 141
这个问题可以回答。以下是我的回答:
#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 (a == b && b == c) {
// 等边三角形
printf("等边三角形,面积为%.2f\n", sqrt(3) / 4 * a * a);
} else if (a == b || a == c || b == c) {
// 等腰三角形
float p = (a + b + c) / 2;
float area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("等腰三角形,面积为%.2f\n", area);
} else {
// 不等边三角形
float p = (a + b + c) / 2;
float area = sqrt(p * (p - a) * (p - b) * (p - c));
printf("不等边三角形,面积为%.2f\n", area);
}
} else {
// 不能构成三角形
printf("这三条线段不能构成三角形\n");
}
return 0;
}