编写程序,输人一元二次方程的三个系数a、b和c,求 ax’+bx+c=0方程的解。 程序运行效果如图3-28所示。 提示: (1)方程ax²十bx+c=0的解有以下几种情况。 ① a=0 and b=0,无解。
时间: 2024-10-10 22:08:20 浏览: 18
用Java编写程序,求一元二次方程ax²+bx+c=0的根(系数在程序中给定),并输出。
编写程序求解一元二次方程(也称二次方程)ax^2 + bx + c = 0的解,需要首先判断方程是否有解,然后根据判别式Δ = b^2 - 4ac来确定解的情况。以下是使用Python编写的示例:
```python
def solve_quadratic_equation(a, b, c):
# 判别式计算
delta = b ** 2 - 4 * a * c
if a == 0 and b == 0: # 如果a等于0,这是一个线性方程
print("这是一条直线,无实数解.")
elif a == 0: # 如果只有a等于0,那么我们有一个一次方程
x = -c / b
print(f"解为 {x}")
else: # 正常的一元二次方程,有两个可能的解
sol1 = (-b - sqrt(delta)) / (2 * a)
sol2 = (-b + sqrt(delta)) / (2 * a)
if delta > 0: # 两个实数根
print(f"解为 x1 = {sol1} 和 x2 = {sol2}")
elif delta == 0: # 只有一个实数根
print(f"解为 x = {sol1}(重复根)")
else: # 两个复数根
real_part = -b / (2 * a)
imaginary_part = sqrt(-delta) / (2 * a)
print(f"解为 x1 = {real_part} + {imaginary_part}i 和 x2 = {real_part} - {imaginary_part}i")
# 示例输入
input_a = float(input("请输入a的值: "))
input_b = float(input("请输入b的值: "))
input_c = float(input("请输入c的值: "))
solve_quadratic_equation(input_a, input_b, input_c)
阅读全文