请编写程序实现从键盘分别输入一元二次方程ax^2+bx+c=0的三个系数a、b、c判断并输出方程是否有实数解
时间: 2024-10-12 18:15:59 浏览: 43
首先,我们可以使用Python编写一个简单的程序来实现这个功能。这里会用到数学库`cmath`来进行复数计算,并检查判别式delta是否大于等于零,以确定方程有无实数解。
```python
import cmath
def quadratic_solver(a, b, c):
# 计算判别式 delta = b^2 - 4ac
delta = b ** 2 - 4 * a * c
if delta >= 0: # 实数解
real_roots = (-b + cmath.sqrt(delta)) / (2 * a), (-b - cmath.sqrt(delta)) / (2 * a)
print("该一元二次方程有实数解:")
print(f"两个根分别是 {real_roots[0]} 和 {real_roots[1]}")
elif delta == 0: # 只有一个实数根(重复)
root = -b / (2 * a)
print("该一元二次方程有两个相等的实数根:")
print(f"根为 {root}")
else: # 无实数解,有共轭复数根
print("该一元二次方程无实数解,有两个共轭复数根。")
# 获取用户输入
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 调用函数求解
quadratic_solver(a, b, c)
#
阅读全文