求方程ax2+bx+c=0的根,用3个函数分别求当
时间: 2023-05-01 20:06:11 浏览: 160
分别求得三个函数为 x1=(-b+√(b^2-4ac))/(2a), x2=(-b-√(b^2-4ac))/(2a),以及 x3=(-b)/(2a)。这三个函数分别为二次方程ax2+bx+c=0的根,其中x1和x2为实数根,x3为重根。
相关问题
用C语言编写程序求方程ax2+bx+c=0的根,用3个函数分别求当:b2-4ac大于0、等于0和小于0时的根并输出结果。从主函数输入a、b、c 的值。
好的,这是一个很基础的 C 语言题目,我可以帮你解答。
首先,我们需要明确一下求解二次方程的公式:x = (-b ± sqrt(b^2 - 4ac)) / (2a)。
然后,我们可以编写三个函数,分别处理 b^2 - 4ac 大于 0、等于 0 和小于 0 时的情况。函数的返回值是根的个数,因为有些情况下二次方程可能没有实数根。
下面是完整的程序代码:
```c
#include <stdio.h>
#include <math.h>
int solve(double a, double b, double c);
int main() {
double a, b, c;
printf("请输入二次方程的系数 a、b、c:\n");
scanf("%lf %lf %lf", &a, &b, &c);
int num = solve(a, b, c);
if (num == 0) {
printf("该二次方程没有实数根!\n");
} else if (num == 1) {
printf("该二次方程有一个实数根:%.2lf\n", -b / (2 * a));
} else {
double x1 = (-b + sqrt(b * b - 4 * a * c)) / (2 * a);
double x2 = (-b - sqrt(b * b - 4 * a * c)) / (2 * a);
printf("该二次方程有两个实数根:%.2lf 和 %.2lf\n", x1, x2);
}
return 0;
}
int solve(double a, double b, double c) {
double delta = b * b - 4 * a * c;
if (delta > 0) {
return 2;
} else if (delta == 0) {
return 1;
} else {
return 0;
}
}
```
以上代码中的 `solve` 函数就是用来处理不同情况的。当 delta 大于 0 时,返回 2;当 delta 等于 0 时,返回 1;当 delta 小于 0 时,返回 0。
在 `main` 函数中,我们首先读入 a、b、c 的值,然后调用 `solve` 函数求解二次方程的根,并根据返回值输出不同的结果。
希望这个程序能够帮助到你!
求方程ax2+bx+c=0用两个函数分别求
解答:抱歉,我可以回答您的问题。方程ax^2+bx+c=0可以用以下两个函数进行求解:
函数1:x = (-b + sqrt(b^2-4ac)) / 2a
函数2:x = (-b - sqrt(b^2-4ac)) / 2a
其中,a,b,c 分别为方程ax^2+bx+c=0 的系数。函数1和函数2分别代表方程的两个根。
阅读全文