一元二次方程ax2+bx+c=0,a、b、c的值由用户在三行中输入,根据用户输入的数值求解方程的实数解:如果a的值为0,根据b值判断方程是否有解并输出,如果a与b同时为0,则输出Data error!如果方程无实数解,输出“该方程无实数解”;如果方程有两个相同的实数解,输出一个解,结果保留2位小数;如果方程有两个不同的实数解,在一行内按从大到小顺序输出方程的两个解,用空格分隔,结果保留2位小数。
时间: 2024-02-12 08:07:41 浏览: 200
判断一个一元二次方程是否有解
以下是使用 Python 实现的代码示例:
```python
import
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
if a == 0:
if b == 0:
print("Data error!")
else:
x = -c / b
print("方程有唯一解:x=%.2f。" % x)
else:
delta = b * b - 4 * a * c
if delta < 0:
print("该方程无实数解。")
elif delta == 0:
x = -b / (2 * a)
print("方程有唯一解:x=%.2f。" % x)
else:
x1 = (-b + math.sqrt(delta)) / (2 * a)
x2 = (-b - math.sqrt(delta)) / (2 * a)
print("方程有两个实数解:%.2f %.2f。" % (max(x1, x2), min(x1, x2)))
```
首先判断 a 是否等于 0,如果是则根据 b 的值判断方程是否有解,否则计算判别式 delta 的值。根据 delta 的值判断方程的解的情况,输出相应的结果。注意输出格式,结果保留两位小数。
阅读全文