已知一元二次方程的三个系数,编程求ax 2 +bx+c=0方程的根,系数a,b,c的值由键盘输入,构建一个一元二次方程的实例,其中a不等于0。
时间: 2024-10-02 15:02:44 浏览: 45
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
在Python中,你可以使用数学库math和公式求解一元二次方程。以下是一个简单的程序示例,它通过用户的输入获取系数a、b和c,然后计算并显示方程的两个解:
```python
import math
# 请求用户输入系数
a = float(input("请输入a的值 (a不等于0): "))
b = float(input("请输入b的值: "))
c = float(input("请输入c的值: "))
# 检查a是否为0,因为一元二次方程要求a非零
if a == 0:
print("错误:一元二次方程的a系数不能为0")
else:
# 计算判别式
discriminant = b**2 - 4*a*c
if discriminant > 0:
# 有两个不同的实根
root1 = (-b + math.sqrt(discriminant)) / (2 * a)
root2 = (-b - math.sqrt(discriminant)) / (2 * a)
print(f"方程的两个实根分别为:{root1} 和 {root2}")
elif discriminant == 0:
# 只有一个实根
root = -b / (2 * a)
print(f"方程有唯一实根:{root}")
else:
# 两个复根
real_part = -b / (2 * a)
imaginary_part = math.sqrt(-discriminant) / (2 * a)
print(f"方程有两个共轭复根:{real_part} + i{imaginary_part} 和 {real_part} - i{imaginary_part}")
```
这个程序首先检查a是否为0,然后根据判别式的值(即b^2 - 4ac)确定方程根的情况,并计算具体的值。
阅读全文