C语言计算三角形的面积和周长
以下是一个完整的C语言程序,可以计算三角形的面积和周长,程序会提示用户输入三角形的三条边长,然后计算并输出结果。

(图片来源网络,侵删)
使用海伦公式计算面积
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c; // 三角形的三条边
double perimeter, area;
double s; // 海伦公式中的半周长
// 输入三条边
printf("请输入三角形的三条边长(用空格分隔): ");
scanf("%lf %lf %lf", &a, &b, &c);
// 检查是否能构成三角形
if (a + b > c && a + c > b && b + c > a && a > 0 && b > 0 && c > 0) {
// 计算周长
perimeter = a + b + c;
// 计算半周长
s = perimeter / 2;
// 使用海伦公式计算面积
area = sqrt(s * (s - a) * (s - b) * (s - c));
// 输出结果
printf("三角形的周长: %.2lf\n", perimeter);
printf("三角形的面积: %.2lf\n", area);
} else {
printf("输入的三条边不能构成有效的三角形!\n");
}
return 0;
}
使用底和高计算面积
如果已知底和高,可以使用以下方法:
#include <stdio.h>
int main() {
double base, height; // 底和高
double area;
double side1, side2, side3; // 三条边
double perimeter;
// 输入底和高
printf("请输入三角形的底和高: ");
scanf("%lf %lf", &base, &height);
// 输入三条边
printf("请输入三角形的三条边长: ");
scanf("%lf %lf %lf", &side1, &side2, &side3);
// 检查是否能构成三角形
if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1 &&
side1 > 0 && side2 > 0 && side3 > 0) {
// 计算面积
area = 0.5 * base * height;
// 计算周长
perimeter = side1 + side2 + side3;
// 输出结果
printf("三角形的周长: %.2lf\n", perimeter);
printf("三角形的面积: %.2lf\n", area);
} else {
printf("输入的三条边不能构成有效的三角形!\n");
}
return 0;
}
程序说明
-
输入验证:程序首先检查输入的三条边是否能构成一个有效的三角形(任意两边之和大于第三边,且边长大于0)。
-
周长计算:周长就是三条边长的简单相加。
-
面积计算:
(图片来源网络,侵删)- 方法一使用海伦公式:面积 = √[s(s-a)(s-b)(s-c)],其中s是半周长
- 方法二使用底和高:面积 = 0.5 × 底 × 高
-
输出结果:程序会格式化输出周长和面积,保留两位小数。
示例运行
请输入三角形的三条边长(用空格分隔): 3 4 5
三角形的周长: 12.00
三角形的面积: 6.00
请输入三角形的三条边长(用空格分隔): 1 2 3
输入的三条边不能构成有效的三角形!
这个程序可以处理各种有效的三角形输入,并给出正确的计算结果。

(图片来源网络,侵删)
