请用C++帮我编写一个程序:题目内容:输入三角形的三条边a、b、c,判断它们能否构成三角形。若能构成三角形,求其面积s,否则输出“Data error!”。 输入样例: 3 4 6 输出样例: 5.33268 输入样例: 3 5 1 输出样例: Data error!
时间: 2024-05-06 08:19:29 浏览: 21
好的,我可以帮你编写这个程序。以下是 C 语言代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
double p = (a + b + c) / 2;
double s = sqrt(p * (p - a) * (p - b) * (p - c));
printf("%.5f", s);
}
else {
printf("Data error!");
}
return 0;
}
```
程序中用 double 类型存储输入的三角形三边长,并使用 scanf 函数从标准输入中读入数据。然后程序使用if语句判断三边长是否能构成三角形,如果能,根据海伦公式求出三角形的面积并输出;如果不能,直接输出“Data error!”。最后返回0结束程序。
需要注意的是,这个程序只能判断输入的三个数是否能构成三角形,并不能判断三角形是否为等腰三角形、直角三角形或者等边三角形等。如果需要判断这些情况,还需要在程序中添加相应的代码。