输入三条边长,如果三条边长不满足构成三角形的条件,则继续输入,直到满足构成三角形的条件。如果能构成三角形,则求出三角形面积。编程
时间: 2024-05-04 19:22:48 浏览: 62
很高兴回答你的问题!
这是一个比较简单的算法,我们可以通过循环来实现。代码如下:
```
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
do {
printf("请输入三角形的三条边长:\n");
scanf("%lf%lf%lf", &a, &b, &c);
} while (a + b <= c || a + c <= b || b + c <= a);
double p = (a + b + c) / 2; // 计算半周长
double area = sqrt(p * (p - a) * (p - b) * (p - c)); // 计算面积
printf("三角形的面积为:%lf\n", area);
return 0;
}
```
代码中,我们使用了一个 do-while 循环来读入三角形的三条边长,并判断是否能构成三角形。如果不能构成,则继续输入;否则,计算半周长和面积,并输出结果。
需要注意的是,由于题目要求输入的是浮点型数字,因此我们使用了 `%lf` 来读取数字。另外,计算三角形面积的公式为海龙公式,需要使用 math.h 库中的 sqrt 函数来计算。
阅读全文