【问题描述】一元二次方程:ax2+bx+c=0 (a ╪ 0) 【输入形式】输入a、b和c的值(有理数) 【输出形式】输出x的两个值,或者No(即没有有理数的解) 【样例输入】1 2.5 3 【样例输出】No 【样例输入】1 -2 1 【样例输出】1.00 1.00
时间: 2023-11-13 18:05:23 浏览: 100
用来输入两个整数a,b,计算出方程ax+b=0的解
【回答】
好的,我明白了。关于你的问题,我可以给出以下代码实现:
```python
import math
a, b, c = map(float, input().split())
delta = b**2 - 4*a*c
if delta < 0:
print("No")
elif delta == 0:
x = -b / (2*a)
print("{:.2f} {:.2f}".format(x, x))
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("{:.2f} {:.2f}".format(x1, x2))
```
这段代码可以按照指定格式读入三个有理数,并根据求根公式计算得到二次方程的解。当判别式 `delta` 小于0时,说明方程无实数解,直接输出 No;当判别式等于0时,说明方程有唯一实数解,输出该解两次;当判别式大于0时,说明方程有两个不同的实数解,输出这两个解。
阅读全文