输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO。
时间: 2024-05-12 11:16:16 浏览: 18
三角形的判定条件是:任意两边之和大于第三边。因此,我们可以先判断是否满足这个条件,满足则可以计算三角形面积。
代码如下:
```python
a, b, c = map(float, input().split())
if a + b > c and a + c > b and b + c > a:
# 计算半周长
p = (a + b + c) / 2
# 计算面积
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print("YES {:.2f}".format(s))
else:
print("NO")
```
注意要将输入的三个数转为浮点数,计算面积时要使用海伦公式,输出时要保留两位小数。
相关问题
输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能构成三角形,输出YES和三角形面积(结果保留2位小数),否则输出NO。
为了判断三个数a、b、c是否可以构成三角形,我们需要遵守三角形的两个基本条件:任意两边之和大于第三边(即a+b>c, a+c>b, b+c>a),同时任一边长度不大于另外两边之差(即a-b<c, a-c<b, b-a<c)。如果满足这两个条件,则这三个数能够构成一个三角形。
计算三角形面积可以使用海伦公式,对于给定的三边a、b、c,半周长p = (a + b + c) / 2,那么面积S = √(p * (p - c))。这里需要保证计算过程中结果始终为正,并保留两位小数。
以下是Python代码示例:
```python
def is_triangle(a, b, c):
if a + b > c and a + c > b and b + c > a:
p = (a + b + c) / 2
area = round((p * (p - a) * (p - b) * (p - c)) ** 0.5, 2)
return "YES", area
else:
return "NO"
# 示例输入
side_1 = float(input("请输入第一个边长: "))
side_2 = float(input("请输入第二个边长: "))
side_3 = float(input("请输入第三个边长: "))
result = is_triangle(side_1, side_2, side_3)
if result[0] == "YES":
print(f"可以构成三角形,面积为: {result[1]}")
else:
print(result[0])
```
python判断求三角形面积(输入三个数a,b,c, 判断能否以它们为三个边长构成三角形。若能,输出YES和三角形面积(结果保留2位小数),否则输出NO)
可以使用海伦公式来求解三角形面积,而判断三个数能否构成三角形可以通过判断任意两边之和是否大于第三边来实现。下面是代码实现:
```
import math
a = float(input("请输入第一条边长a: "))
b = float(input("请输入第二条边长b: "))
c = float(input("请输入第三条边长c: "))
if a + b > c and a + c > b and b + c > a:
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
print("YES")
print("三角形面积为:%.2f" % area)
else:
print("NO")
```
阅读全文