上面问题的答案用c怎么写
时间: 2024-09-29 16:04:58 浏览: 12
在 C 语言中,你可以使用 `double` 类型处理小数运算,并通过条件判断检查是否满足三角形的性质。以下是使用海伦公式计算三角形面积的函数示例:
```c
#include <stdio.h>
#include <math.h>
// 海伦公式计算面积
double triangleArea(double a, double b, double c) {
// 检查边长是否构成三角形
if (a <= 0 || b <= 0 || c <= 0 || a + b <= c || a + c <= b || b + c <= a) {
return -1; // 无法构成三角形
}
// 计算半周长
double p = (a + b + c) / 2;
// 应用海伦公式
double area = sqrt(p * (p - a) * (p - b) * (p - c));
return round(area * 100) / 100; // 保留两位小数
}
int main() {
int a, b, c;
printf("请输入三角形的三条边长(空格分隔): ");
scanf("%d %d %d", &a, &b, &c);
double result = triangleArea(a, b, c);
if (result != -1) {
printf("三角形的面积是: %.2f\n", result);
} else {
printf("无法构成三角形。\n");
}
return 0;
}
```
这个程序首先读取用户输入的三条边长,然后调用 `triangleArea` 函数计算面积。如果输入的边长不能构成三角形,该函数将返回 -1,否则返回经过四舍五入保留两位小数后的面积。