从键盘任意输入三角形的三边长为a,b,c,编程判断a,b,c的值能否构成一个三角形,若能构成三角形,则计算并输出三角形的面积(要求结果保留到小数点后2位),否则提示"It is not a triangle!"。已知构成三角形的条件是:任意两边之和大于第三边。 s=1/2(a+b+c) area=sqrt(s(s-a)(s-b)(s-c)) 数如提示信息:"Input a,b,c:" 输入数据格式:"%f,%f,%f" 输出数据格式:"area = %.2f\n" 不是三角形时的输出提示信息:"It is not a triangle!\n" 程序运行结果示例1: Input a,b,c:3,4,5↙ area = 6.00 程序运行结果示例2: Input a,b,c:3,4,8↙ It is not a triangle!
时间: 2024-03-05 18:55:13 浏览: 99
你可以尝试以下代码来实现上述功能:
```c
#include <stdio.h>
#include <math.h>
int main() {
float a, b, c, s, area;
printf("Input a,b,c:");
scanf("%f,%f,%f", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a) {
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("area = %.2f\n", area);
} else {
printf("It is not a triangle!\n");
}
return 0;
}
```
解释:
- `if (a + b > c && a + c > b && b + c > a)` 是条件语句,用于判断输入的三个数能否构成三角形。
- 如果 `a + b > c && a + c > b && b + c > a` 成立,则三个数可以构成三角形。
- `s = (a + b + c) / 2;` 用于计算 `s`,即三角形的半周长。
- `area = sqrt(s * (s - a) * (s - b) * (s - c));` 用于计算三角形的面积,其中 `sqrt` 是数学函数,表示求平方根。
- `printf("area = %.2f\n", area);` 用于输出三角形的面积,其中 `%.2f` 是用于格式化输出浮点数的占位符,表示保留两位小数。
- `else` 是条件语句的分支,用于处理输入的三个数不能构成三角形的情况。
- 如果输入的三个数不能构成三角形,则输出提示信息 `"It is not a triangle!\n"`。
阅读全文