编写程序,输入三角形的三条边长,求其面积。注:对不合理的边长输入要给出错误提示信息。三角形面积公式: p=(a+b+c)/2, s=sqrt(s*(s-a)*(s-b)*(s-c))用C语言编程
时间: 2024-11-04 18:10:15 浏览: 26
C语言实验-从键盘输入三角形三个边的长度,计算该三角形的面积。若输入的三条边不能构成三角形。则直接输出信息“不能构成三角形!”
5星 · 资源好评率100%
在C语言中,我们可以编写一个函数来计算给定三角形三边长度的面积,同时处理异常情况,如负数或边长大于另外两边之和的情况。这里是一个简单的示例:
```c
#include <stdio.h>
#include <math.h> // 引入数学库,用于sqrt函数
// 函数声明,接受三个浮点数作为边长
double calculate_triangle_area(float a, float b, float c);
int main() {
float side1, side2, side3;
printf("请输入三角形的三条边长:\n");
// 输入边长并检查有效性
if (scanf("%f %f %f", &side1, &side2, &side3) != 3 || side1 <= 0 || side2 <= 0 || side3 <= 0) {
printf("错误:边长必须是非零正数。\n");
return 1; // 程序结束,返回值表示失败
}
// 如果边长合理,计算并打印面积
else if (side1 + side2 > side3 && side1 + side3 > side2 && side2 + side3 > side1) {
double area = calculate_triangle_area(side1, side2, side3);
printf("三角形的面积是:%.2f\n", area);
}
return 0; // 程序正常结束
}
// 计算面积的辅助函数
double calculate_triangle_area(float a, float b, float c) {
float semi_perimeter = (a + b + c) / 2.0;
return sqrt(semi_perimeter * (semi_perimeter - a) * (semi_perimeter - b) * (semi_perimeter - c));
}
```
在这个程序中,`calculate_triangle_area`函数实现了三角形面积的计算,`main`函数负责用户交互和边界条件检查。
阅读全文