c语言求三角形面积area
时间: 2024-09-22 21:08:02 浏览: 78
在C语言中,求解三角形的面积通常需要知道三角形的底和高。最简单的公式是:面积 = (底 * 高) / 2。如果你有两个边长a和b以及它们之间的夹角C(已知非直角),可以使用海伦公式(Heron's formula)计算面积,前提是知道所有的边长。以下是使用这两个方法的一个示例:
```c
#include <stdio.h>
// 函数一:基于底和高的三角形面积
double triangle_area_by_base_height(double base, double height) {
return (base * height) / 2;
}
// 函数二:基于两边和夹角的三角形面积(海伦公式)
double triangle_area_by_two_sides_angle(double a, double b, double angle_in_degrees) {
// 将角度转换为弧度
double angle_in_radians = M_PI * angle_in_degrees / 180.0;
// 根据余弦定理计算第三边c
double c = sqrt(a * a + b * b - 2 * a * b * cos(angle_in_radians));
// 使用半周长p计算面积
double p = (a + b + c) / 2;
double area = sqrt(p * (p - a) * (p - b) * (p - c));
return area;
}
int main() {
double base, height, a, b, angle; // 输入值
printf("请输入三角形的底和高(单位:厘米):");
scanf("%lf %lf", &base, &height);
double area1 = triangle_area_by_base_height(base, height);
printf("基于底和高的面积: %.2f cm²\n", area1);
printf("请输入三角形的两个边长(单位:厘米)及夹角(度数):");
scanf("%lf %lf %lf", &a, &b, &angle);
double area2 = triangle_area_by_two_sides_angle(a, b, angle);
printf("基于两边和角度的面积: %.2f cm²\n", area2);
return 0;
}
```
阅读全文