求一元二次方程式2x**2+bx+c的根,abc的值键盘输入。若有根 输出结果并保留两位小数,否则给出相应的提示信息用Python写一个代码
时间: 2024-05-16 19:15:41 浏览: 5
以下是Python代码实现:
```python
import math
a = 2
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
# 计算判别式
delta = b**2 - 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("该方程有两根:x1 = %.2f,x2 = %.2f" % (x1, x2))
```
解释一下代码:
1. 首先,我们定义了系数 a 的值为 2,因为这是一元二次方程的标准形式。
2. 然后,我们从键盘输入 b 和 c 的值。
3. 接着,我们计算判别式 delta,判断方程的根的情况。
4. 如果 delta 小于 0,则方程无实数根,输出提示信息。
5. 如果 delta 等于 0,则方程有唯一根,计算出该根 x 并输出。
6. 如果 delta 大于 0,则方程有两根,计算出这两根 x1 和 x2 并输出。
希望能对你有所帮助!
相关问题
用C语言求一元二次方程a*x*x+b*x+c=0的根
好的,我可以为您提供求解一元二次方程的C语言代码。请见下方:
```
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, x1, x2, discriminant, realPart, imaginaryPart;
printf("Enter coefficients a, b and c: ");
scanf("%f %f %f",&a, &b, &c);
discriminant = b*b - 4*a*c;
// real and different roots
if (discriminant > 0)
{
x1 = (-b + sqrt(discriminant)) / (2*a);
x2 = (-b - sqrt(discriminant)) / (2*a);
printf("Roots are: %.2f and %.2f",x1 , x2);
}
// real and same roots
else if (discriminant == 0)
{
x1 = x2 = -b / (2*a);
printf("Roots are: %.2f and %.2f", x1, x2);
}
// complex roots
else
{
realPart = -b/(2*a);
imaginaryPart = sqrt(-discriminant)/(2*a);
printf("Roots are: %.2f+%.2fi and %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart);
}
return 0;
}
```
在这段代码中,我们使用了`scanf()`函数从用户输入中读取三个系数a、b和c,然后计算判别式`discriminant`的值。
接下来根据判别式的值,我们判断方程的根的类型,即实根、重根或复根,并分别计算根的值。最后,我们使用`printf()`函数将计算出的根输出到屏幕上。
希望这个程序对您有所帮助!
如何写输入三个整数abc输出一元二次方程ax2+bx+c…=0的根的代码
以下是一个示例代码:
```python
import math
a = int(input("请输入a的值:"))
b = int(input("请输入b的值:"))
c = int(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta < 0:
print("该方程无实数解")
elif delta == 0:
x = -b / (2*a)
print("该方程有一个实数解:x =", x)
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("该方程有两个实数解:x1 =", x1, "x2 =", x2)
```
这个代码可以让用户输入三个整数a、b、c,然后计算一元二次方程ax^2 + bx + c = 0的根,并输出结果。如果方程无实数解,则输出提示信息。