编写程序,由键盘输入一元二次方程 02+6xtc=0a*0 的a.b,c的值,求方程的解
时间: 2023-05-26 20:07:35 浏览: 121
```python
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("方程的两个实数根分别为:{:.2f}和{:.2f}".format(x1, x2))
elif delta == 0:
x = -b / (2*a)
print("方程的唯一实数根为:{:.2f}".format(x))
else:
real_part = -b / (2*a)
imag_part = math.sqrt(-delta) / (2*a)
print("方程的两个虚数根分别为:{:.2f}+{:.2f}i和{:.2f}-{:.2f}i".format(real_part, imag_part, real_part, imag_part))
```
这个程序首先使用 `input` 函数获取用户输入的三个参数 `a`、`b` 和 `c`,然后计算出判别式 `delta`:
$$\Delta = b^2 - 4ac$$
随后根据判别式的值,分别进行以下三种情况的判断:
1. 如果 $\Delta > 0$,则方程有两个不相等的实数根,分别为:
$$x_1 = \frac{-b + \sqrt{\Delta}}{2a},\quad x_2 = \frac{-b - \sqrt{\Delta}}{2a}$$
2. 如果 $\Delta = 0$,则方程有唯一的实数根,为:
$$x = \frac{-b}{2a}$$
3. 如果 $\Delta < 0$,则方程有两个共轭复数根,分别为:
$$x_1 = x_2^* = \frac{-b}{2a} \pm \frac{\sqrt{-\Delta}}{2a}i$$
其中,`math.sqrt` 函数用于求平方根,`{:.2f}` 表示只保留两位小数的浮点数格式化输出。
阅读全文