用Python:输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。 输入格式 输入包括三行,每行是一个数字 输出格式 如果输入的三个数字能够组成三角形的三边,则输出为两行,分别是'YES' 和面积值(结果严格保留2位小数);如果输入的三边不能组成三角形,则输出为'NO' 示例 1 输入: 3.0 4.0 5.0 输出: YES 6.00 示例2 输入: 2 5 8 输出: NO
时间: 2025-06-26 16:20:54 浏览: 12
以下是用Python实现此需求的完整解决方案及详细解析:
```python
# 获取用户输入的三条边长,并将字符串转为浮点数形式
a = float(input())
b = float(input())
c = float(input())
# 检查是否可以构成三角形 (两边之和大于第三边)
if a + b > c and a + c > b and b + c > a:
print('YES')
# 计算半周长 p
p = (a + b + c) / 2
# 使用海伦公式计算三角形面积 S = sqrt(p * (p-a) * (p-b) * (p-c))
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
# 打印保留两位小数的结果
print(f"{area:.2f}")
else:
print('NO')
```
### 程序说明:
1. 首先读取用户输入的三个数值 `a`, `b`, `c`,并将这些值转换成浮点数类型以便支持更广泛的输入范围。
2. 利用三角形成立的基本条件——任意两条边长度之和必须大于第三条边 (`a+b>c && a+c>b && b+c>a`),检查这三个数是否可以作为有效三角形的三边。
3. 若满足上述条件,则打印 `'YES'` 表示这确实是个合法的三角形组合,并进一步利用“海伦公式”计算其面积。具体来说,“海伦公式”的表达式是 \(S=\sqrt{p\cdot{(p-a)}\cdot{(p-b)}\cdot{(p-c)}}\) ,其中\(p=(a+b+c)/2\) 是三角形的半周长。
4. 对于得出的面积结果使用 `{:.2f}` 的格式化操作保证只显示精确到小数点后第二位的小数部分。
5. 如果不满足形成三角形的要求就直接输出 `'NO'`。
---
#### 示例运行:
**示例1**
- 输入:
```
3.0
4.0
5.0
```
- 过程分析:因为 3+4>5、3+5>4、以及4+5>3 成立,故可构建一个有效的直角三角形;根据勾股定理知这是一个斜边为5单位长度的经典例子。接下来按步骤求得面积应为6平方单位。
- 输出:
```
YES
6.00
```
**示例2**
- 输入:
```
2
5
8
```
- 过程分析:由于任选两个较小边相加均小于最大那个(比如2+5<8),所以不可能成为真实存在的平面图形之一侧。
- 输出:
```
NO
```
阅读全文
相关推荐


















