编写一个应用程序,读取用户任意输入的3个非零实数,判断它们是否可以作为直角三角形的3条边,如果可以,则打印这3条边,计算并显示这个三角形的面积。
时间: 2024-10-07 20:05:14 浏览: 66
首先,我们可以编写一个简单的程序来实现这个功能。在这个程序中,我们将利用勾股定理来检查输入的三个数是否满足直角三角形的条件,即a² + b² = c²。以下是使用Python编写的示例:
```python
import math
def input_numbers():
sides = []
while len(sides) < 3:
try:
side = float(input("请输入一个非零实数 (或输入 'q' 结束): "))
if side == 0:
print("边长不能为零,请重新输入")
else:
sides.append(side)
except ValueError:
print("输入无效,请输入数字")
return sides
def check_right_triangle(a, b, c):
if a**2 + b**2 == c**2 or a**2 + c**2 == b**2 or b**2 + c**2 == a**2:
return True
else:
return False
def calculate_area(a, b, c):
# 选择最长边作为斜边
if a >= b and a >= c:
p = (a + b + c) / 2
area = math.sqrt(p * (p - c))
elif b >= a and b >= c:
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
else:
p = (a + b + c) / 2
area = math.sqrt(p * (p - a) * (p - b) * (p - c))
return area
sides = input_numbers()
if check_right_triangle(*sides):
print(f"这三个边 {sides} 可以组成一个直角三角形.")
area = calculate_area(sides[0], sides[1], sides[2])
print(f"三角形的面积为: {area}")
else:
print("这三个边无法构成直角三角形.")
```
阅读全文
相关推荐


















