从键盘输入三角形的三边长为a,b,c,按下面公式计算并输出三角形的面积,s=0.5(a+b+c),并且考虑输入的三边长是不是可以构成三角形和输入的不是数字的情况。c语言代码
时间: 2024-09-27 07:10:21 浏览: 59
在C语言中,我们可以编写如下的代码来实现这个功能。首先,我们需要检查输入的三个数是否能构成有效的三角形,然后计算面积并打印结果。如果用户输入的不是数字或者无法构成三角形,我们会给出相应的提示信息。
```c
#include <stdio.h>
#include <math.h> // 包含数学函数库,用于sqrt计算平方根
// 函数来判断三条线段能否构成三角形
int is_triangle(float a, float b, float c) {
if (a + b > c && a + c > b && b + c > a)
return 1; // 构成三角形,返回1
else
return 0; // 不构成三角形,返回0
}
// 主函数
int main() {
float a, b, c;
printf("请输入三角形的三边长(以空格隔开): ");
if(scanf("%f %f %f", &a, &b, &c) != 3 || a <= 0 || b <= 0 || c <= 0) { // 检查输入是否有效
printf("错误:请输入三个非零正实数。\n");
return 1;
}
// 检查是否能构成三角形
if (!is_triangle(a, b, c)) {
printf("错误:输入的边长无法构成三角形。\n");
return 1;
}
float s = (a + b + c) / 2; // 半周长
float area = sqrt(s * (s - a) * (s - b) * (s - c)); // 海伦公式计算面积
printf("三角形的面积是: %.2f\n", area);
return 0;
}
```
阅读全文