二次多项式求解示例代码 c++
时间: 2023-09-15 20:02:47 浏览: 312
在C语言中,求解二次多项式可以通过解方程的方法来实现。以下是一个求解二次多项式的示例代码:
```c
#include <stdio.h>
#include <math.h>
double solveQuadratic(double a, double b, double c) {
double discriminant, root1, root2;
// 计算判别式
discriminant = b * b - 4 * a * c;
// 判断方程有几个根
if (discriminant > 0) {
root1 = (-b + sqrt(discriminant)) / (2 * a);
root2 = (-b - sqrt(discriminant)) / (2 * a);
printf("方程有两个根,分别为 %.2f 和 %.2f\n", root1, root2);
}
else if (discriminant == 0) {
root1 = -b / (2 * a);
printf("方程有一个重根,为 %.2f\n", root1);
}
else {
double realPart = -b / (2 * a);
double imagPart = sqrt(-discriminant) / (2 * a);
printf("方程无实根,其复根为 %.2f+%.2fi 和 %.2f-%.2fi\n", realPart, imagPart, realPart, imagPart);
}
}
int main() {
double a, b, c;
printf("请输入二次多项式的系数:\n");
printf("a = ");
scanf("%lf", &a);
printf("b = ");
scanf("%lf", &b);
printf("c = ");
scanf("%lf", &c);
solveQuadratic(a, b, c);
return 0;
}
```
以上代码首先定义了一个函数 `solveQuadratic()`,该函数接收三个参数,即二次多项式的系数 `a`、`b`和`c`。在函数内部,首先计算了判别式 `discriminant`,然后根据判别式的值判断方程有几个根,并计算根的值。最后,在 `main()` 函数中,通过用户输入获取二次多项式的系数,并调用 `solveQuadratic()` 函数来求解方程的根。
阅读全文