编写输入一元二次方程ax²+bx+c=0的系数a,b,c分情况计算并输出一元二次方程的根
时间: 2024-10-29 10:19:27 浏览: 47
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
当你编写一个程序来计算一元二次方程 ax² + bx + c = 0 的根时,你需要首先考虑的是方程的判别式 Δ = b² - 4ac。根据判别式的值,有三种情况:
1. 当Δ > 0 (即 b² > 4ac)时,方程有两个不相等的实数根,可以通过求根公式来计算:
根1 = (-b - √Δ) / (2a)
2. 当Δ = 0 (即 b² = 4ac)时,方程有两个相同的实数根(也称为二重根):
根 = -b / (2a)
3. 当Δ < 0 (即 b² < 4ac),方程没有实数根,但它有两个复数根,可以通过复数形式表示:
根1、2 = [-b ± i√(4ac-b²)] / (2a),其中 i 是虚数单位。
在实际编程中,你可以创建函数接收 a、b 和 c 作为输入,然后根据上述条件判断并计算根。以下是Python的一个简单示例:
```python
import cmath
def calculate_roots(a, b, c):
discriminant = b**2 - 4*a*c
if discriminant > 0:
root1 = (-b - cmath.sqrt(discriminant)) / (2*a)
print(f"两个实数根:{root1:.2f}, {root2:.2f}")
elif discriminant == 0:
root = -b / (2*a)
print(f"一个重根:{root:.2f}")
else:
real_part = -b / (2*a)
imaginary_part = cmath.sqrt(-discriminant) / (2*a)
print(f"两个共轭复数根:{real_part:.2f} ± {imaginary_part:.2f}i")
# 调用函数并传入系数
calculate_roots(1, -3, 2)
```
阅读全文