用C语言怎么求三角形面积
时间: 2024-10-28 18:03:40 浏览: 47
在C语言中,计算三角形面积通常需要已知三角形的两个边长以及它们之间的夹角,或者仅知道底和高。以下是几种常见的方法:
1. **海伦公式**:如果已知三边长度a、b、c,可以先计算半周长s = (a + b + c) / 2,然后利用公式 `area = sqrt(s * (s - a) * (s - b) * (s - c))` 计算面积。
```c
#include <stdio.h>
#include <math.h>
double triangle_area(int a, int b, int c) {
double s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
int main() {
int side_a, side_b, side_c;
printf("请输入三角形三边的长度:");
scanf("%d %d %d", &side_a, &side_b, &side_c);
if (side_a + side_b > side_c && side_a + side_c > side_b && side_b + side_c > side_a) { // 验证三角形条件
double area = triangle_area(side_a, side_b, side_c);
printf("三角形的面积为 %.2f\n", area);
} else {
printf("输入的边长无法构成三角形。\n");
}
return 0;
}
```
2. **已知底和高**:如果只知道底b和对应的高h,则直接使用公式 `area = 0.5 * base * height`。
```c
double triangle_area_given_base_height(double base, double height) {
return 0.5 * base * height;
}
```
阅读全文