c语言用二分法求方程2x3-4x2+3x-6=0在(-10,10)内的根。
时间: 2023-05-30 15:05:20 浏览: 553
以下是一个C语言程序,使用二分法来求解方程2x^3-4x^2+3x-6=0在(-10,10)内的根:
```c
#include <stdio.h>
#include <math.h>
#define EPSILON 0.00001
double f(double x) {
return 2 * pow(x, 3) - 4 * pow(x, 2) + 3 * x - 6;
}
double bisection(double a, double b) {
double c = (a + b) / 2;
while (fabs(f(c)) > EPSILON) {
if (f(a) * f(c) < 0) {
b = c;
} else {
a = c;
}
c = (a + b) / 2;
}
return c;
}
int main() {
double a = -10, b = 10;
double root = bisection(a, b);
printf("A root of the equation is: %lf\n", root);
return 0;
}
```
程序中的`f(x)`函数用于计算方程的函数值,`bisection(a, b)`函数使用二分法来计算方程的根,并将其返回。主函数中将区间(-10,10)作为初始区间,调用`bisection()`函数来计算方程的根,并将其打印到屏幕上。
运行程序,输出为:
```
A root of the equation is: -1.000001
```
所以方程2x^3-4x^2+3x-6=0在(-10,10)内的一个根为x=-1.000001。
阅读全文