求 a * x^2 + b * x + c = 0 方程的根。代码
时间: 2023-09-03 07:16:46 浏览: 52
好的,以下是一个求解一元二次方程的 Python 代码:
```python
import math
def solve_quadratic_equation(a, b, c):
delta = b**2 - 4*a*c
if delta < 0:
return None
elif delta == 0:
x = -b / (2*a)
return x
else:
x1 = (-b + math.sqrt(delta)) / (2*a)
x2 = (-b - math.sqrt(delta)) / (2*a)
return x1, x2
```
其中,`a`,`b`,`c` 分别代表一元二次方程 `a * x^2 + b * x + c = 0` 中的系数,函数返回方程的根。若方程无实数根,则返回 `None`。
你可以调用这个函数求解一元二次方程。
相关问题
C语言求a*x^2+b*x+c==0方程的解
可以通过求解二次方程来求解该方程的解,二次方程的一般形式为:ax^2+bx+c=0。
其中,a、b、c为实数,且a≠0。
我们可以使用以下公式求解二次方程:x = (-b ± sqrt(b^2-4ac)) / 2a
具体步骤如下:
1. 输入a、b、c的值
2. 判断a是否为0,若为0则方程不是二次方程,给出提示
3. 如果a不为0,则计算delta = b^2 - 4ac
4. 如果delta小于0,则方程无实数解,给出提示
5. 如果delta等于0,则方程有唯一实数解x = -b / 2a
6. 如果delta大于0,则方程有两个实数解x1 = (-b + sqrt(delta)) / 2a,x2 = (-b - sqrt(delta)) / 2a
7. 输出结果
以下是示例代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
float a, b, c, delta, x1, x2;
printf("请输入a, b, c的值:");
scanf("%f%f%f", &a, &b, &c);
if (a == 0)
{
printf("a不能等于0,不是二次方程!");
}
else
{
delta = b * b - 4 * a * c;
if (delta < 0)
{
printf("方程无实数解!");
}
else if (delta == 0)
{
x1 = -b / (2 * a);
printf("方程有唯一实数解x=%.2f", x1);
}
else
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实数解:x1=%.2f,x2=%.2f", x1, x2);
}
}
return 0;
}
```
求 a * x^2 + b * x + c = 0 方程的根。代码用stdio.h
好的,以下是一个求解一元二次方程的 C 代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, delta, x1, x2;
printf("请输入一元二次方程的系数 a, b, c:\n");
scanf("%lf%lf%lf", &a, &b, &c);
delta = b * b - 4 * a * c;
if (delta < 0) {
printf("方程无实数根。\n");
} else if (delta == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有一个实数根 x = %lf。\n", x1);
} else {
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
printf("方程有两个实数根 x1 = %lf, x2 = %lf。\n", x1, x2);
}
return 0;
}
```
其中,`a`,`b`,`c` 分别代表一元二次方程 `a * x^2 + b * x + c = 0` 中的系数,`delta` 为判别式,`x1`,`x2` 分别为方程的两个根。程序会先让用户输入系数,然后输出方程的根。
你可以将以上代码保存为一个 `.c` 文件并编译运行。