写一下一元二次方程求根的程序
时间: 2024-09-27 14:06:53 浏览: 69
C++通过自定义函数求一元二次方程的根
一元二次方程的标准形式是 ax^2 + bx + c = 0,其中 a、b 和 c 是常数,a ≠ 0。求解这类方程通常可以使用公式法,即计算判别式 D = b^2 - 4ac,然后根据其正负情况判断根的情况:
1. 如果 D > 0,则有两个实数根:x1 = (-b + √D) / (2a),x2 = (-b - √D) / (2a)。
2. 如果 D = 0,则有一个重根 x = -b / (2a)。
3. 如果 D < 0,则有两个复数根。
以下是一个简单的 Python 程序示例,用于计算并打印一元二次方程的解:
```python
import math
def quadratic_equation(a, b, c):
discriminant = b**2 - 4*a*c
if discriminant > 0:
x1 = (-b + math.sqrt(discriminant)) / (2 * a)
x2 = (-b - math.sqrt(discriminant)) / (2 * a)
return f"两个实数根:{x1:.2f} 和 {x2:.2f}"
elif discriminant == 0:
root = -b / (2 * a)
return f"一个重根:{root:.2f}"
else:
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
return f"两个复数根:{real_part:.2f} + i{imaginary_part:.2f} 和 {real_part:.2f} - i{imaginary_part:.2f}"
# 使用示例
a = float(input("请输入二次项系数:"))
b = float(input("请输入一次项系数:"))
c = float(input("请输入常数项:"))
result = quadratic_equation(a, b, c)
print(result)
阅读全文