输入三角形的三边,判断其能否组成三角形,若能构成三角形,利用公式计算并输出其 面积,否则输出"Data Error" 面积公式:VK(h一a)化一6)(化一C),其中a,b,c代表三角形三边长度,不=athte 【输入格式】"%%f%f 【输出格式】输出面积格式:〝%.2An”,或"Data Error"
时间: 2024-02-15 17:03:00 浏览: 223
好的,下面是相应的代码:
```
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c;
float p, s, h;
if (scanf("%f%f%f", &a, &b, &c) != 3) {
printf("Data Error");
return 0;
}
if (a + b <= c || a + c <= b || b + c <= a) {
printf("Data Error");
return 0;
}
p = (a + b + c) / 2;
h = 2 * sqrt(p * (p - a) * (p - b) * (p - c)) / a;
s = 0.5 * a * h;
printf("%.2f", s);
return 0;
}
```
程序首先使用 scanf 函数读入三角形的三条边长,并通过判断 scanf 的返回值来判断输入是否正确,如果不正确则输出 "Data Error"。
然后,使用 if 语句和三角形边长的关系来判断是否能构成三角形,如果不能则同样输出 "Data Error"。
如果能构成三角形,则使用海伦公式计算出三角形的半周长 p,高 h,以及面积 s,并输出 s 的值,保留两位小数。
需要注意的是,在计算高 h 时,由于公式中有 a 的除法,因此需要特别注意 a 的值不能为 0,否则会出现除数为 0 的错误。
希望能够帮到你!
阅读全文