输入一元二次方程的三个系数a、b、c,求a*x**2+b*x+c=0方程的解
时间: 2024-01-17 17:05:31 浏览: 224
使用公式法求解一元二次方程:
若ax^2+bx+c=0(其中a≠0),则方程的解为:
x1=(-b+√(b^2-4ac))/2a
x2=(-b-√(b^2-4ac))/2a
即:
x1=(-b+sqrt(b^2-4ac))/(2a)
x2=(-b-sqrt(b^2-4ac))/(2a)
Python代码实现如下:
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b ** 2 - 4 * a * c # 计算判别式
if delta > 0:
x1 = (-b + delta ** 0.5) / (2 * a)
x2 = (-b - delta ** 0.5) / (2 * a)
print("方程的两个解分别为:x1 = %.2f, x2 = %.2f" % (x1, x2))
elif delta == 0:
x = -b / (2 * a)
print("方程的唯一解为:x = %.2f" % x)
else:
print("方程无实数解")
相关问题
控制台输入三个浮点数a,b,c表示一元二次方程的三个系数a*x*x+b*x+c=0,打印两根
### 回答1:
针对您的问题,我可以回答。
一元二次方程的通式为:ax^2 + bx + c = 0,其中a、b、c均为实数,且a不等于0。求解一元二次方程的根,可以使用求根公式:
x1 = (-b + sqrt(b^2 - 4ac)) / 2a
x2 = (-b - sqrt(b^2 - 4ac)) / 2a
其中,sqrt代表求平方根的函数。
针对您输入的三个浮点数a、b、c,我们可以按照上述公式来求解这个一元二次方程的根,并输出结果。
### 回答2:
首先,我们需要根据用户输入的三个浮点数a,b和c来计算一元二次方程的根。一元二次方程的解可以通过求解二次方程的判别式来确定。
假设用户输入的三个浮点数分别用变量a,b和c来表示,则可以使用以下代码来求解一元二次方程的根:
```python
import math
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b**2 - 4*a*c
if delta > 0:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
print("该一元二次方程有两个不相等的实根,分别为:x1 = ", x1, ",x2 = ", x2)
elif delta == 0:
x = -b / (2*a)
print("该一元二次方程有两个相等的实根,为:x = ", x)
else:
real_part = -b / (2*a)
imaginary_part = math.sqrt(-delta) / (2*a)
print("该一元二次方程有两个复数根,分别为:x1 =", real_part, "+", imaginary_part, "i,x2 =", real_part, "-", imaginary_part, "i")
```
以上代码首先根据用户输入的a、b和c的值计算二次方程的判别式delta,并通过判断delta的值来确定方程的根的类型和值。
如果delta大于0,则方程有两个不相等的实根,分别计算两个实根x1和x2。
如果delta等于0,则方程有两个相等的实根x。
如果delta小于0,则方程有两个复数根,其中实部为负b除以2a,虚部为delta开根号除以2a。
最后,根据各种情况,打印出方程的根。
### 回答3:
要解一元二次方程a*x*x + b*x + c = 0,首先需要计算方程的判别式Δ=b*b-4*a*c。判别式Δ可以判断方程有几个实根。
如果Δ大于0,表示方程有两个不相等的实根,公式根据公式x1=(-b+√Δ)/2*a,x2=(-b-√Δ)/2*a计算两个根,并打印输出。
如果Δ等于0,表示方程有两个相等的实根,公式只需计算一个根x=-b/2*a,并打印输出。
如果Δ小于0,表示方程无实根,即方程的解为虚数,无法打印输出。
以下为示例代码:
```python
a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))
delta = b * b - 4 * a * c
if delta > 0:
x1 = (-b + delta ** 0.5) / (2 * a)
x2 = (-b - delta ** 0.5) / (2 * a)
print("方程的两个实根为:x1 = %.2f, x2 = %.2f" % (x1, x2))
elif delta == 0:
x = -b / (2 * a)
print("方程的两个相等实根为:x = %.2f" % x)
else:
print("方程无实根")
```
这样,根据用户输入的三个浮点数a、b、c,即可计算一元二次方程的两个实根并打印输出。
用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()`函数将计算出的根输出到屏幕上。
希望这个程序对您有所帮助!
阅读全文