C语言计算三角形面积
在C语言中,可以使用海伦公式(Heron's formula)来计算三角形的面积,海伦公式需要知道三角形的三条边长,计算步骤如下:
使用海伦公式
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c; // 三角形的三条边
double s, area; // 半周长和面积
// 输入三条边
printf("请输入三角形的三条边长(用空格分隔): ");
scanf("%lf %lf %lf", &a, &b, &c);
// 检查是否能构成三角形
if (a + b > c && a + c > b && b + c > a && a > 0 && b > 0 && c > 0) {
// 计算半周长
s = (a + b + c) / 2;
// 使用海伦公式计算面积
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为: %.2f\n", area);
} else {
printf("输入的三条边不能构成有效的三角形!\n");
}
return 0;
}
使用底和高
如果已知三角形的底和高,可以直接使用面积公式:
#include <stdio.h>
int main() {
double base, height, area;
printf("请输入三角形的底和高(用空格分隔): ");
scanf("%lf %lf", &base, &height);
area = 0.5 * base * height;
printf("三角形的面积为: %.2f\n", area);
return 0;
}
注意事项
- 在使用海伦公式时,必须确保输入的三条边能构成一个有效的三角形(任意两边之和大于第三边,且边长大于0)
- 使用
math.h库中的sqrt()函数时,可能需要链接数学库(在Linux下编译时使用-lm选项) - 输入验证很重要,可以防止程序因无效输入而崩溃
示例运行
请输入三角形的三条边长(用空格分隔): 3 4 5
三角形的面积为: 6.00
请输入三角形的三条边长(用空格分隔): 1 2 3
输入的三条边不能构成有效的三角形!
