C语言给出三角形三边长,求三角形面积
时间: 2024-09-18 22:03:08 浏览: 95
在C语言中,要计算三角形的面积,你需要知道三角形的三条边(a, b, c)。最常用的公式是海伦公式(Heron's formula),适用于任意边长的三角形。如果已知的是直角三角形,则可以通过勾股定理简化计算。这里我们用海伦公式来说明:
假设三边长为 a、b、c(a ≤ b ≤ c):
首先,根据海伦公式计算半周长 p:
\[ p = \frac{a + b + c}{2} \]
然后,使用以下公式计算面积 A:
\[ A = \sqrt{p \times (p - a) \times (p - b) \times (p - c)} \]
下面是一个完整的C代码示例,输入三个边长,然后计算并输出三角形面积:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于sqrt函数
// 函数声明
double calculateTriangleArea(double a, double b, double c);
int main() {
double a, b, c;
printf("请输入三角形的三条边长(a, b, c): ");
scanf("%lf %lf %lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) { // 验证输入是否构成有效的三角形
double area = calculateTriangleArea(a, b, c);
printf("三角形的面积是: %.2f\n", area);
} else {
printf("输入的边长无法构成一个有效三角形.\n");
}
return 0;
}
// 计算三角形面积
double calculateTriangleArea(double a, double b, double c) {
double p = (a + b + c) / 2; // 半周长
return sqrt(p * (p - a) * (p - b) * (p - c)); // 使用海伦公式计算面积
}
```
记得在运行这个程序之前确保输入的边长满足构成三角形的条件(任意两边之和大于第三边)。
阅读全文