C语言用二分法编程求方程在(0,5)之间的根: f ( x ) = x ^ { 2 } + 5 x - 6
时间: 2024-01-26 22:05:05 浏览: 21
下面是使用C语言实现二分法求解方程根的代码:
```c
#include <stdio.h>
#include <math.h>
#define EPS 1e-6 // 精度
double f(double x) {
return x * x + 5 * x - 6;
}
double bisection(double a, double b) {
double mid = (a + b) / 2;
while (fabs(f(mid)) > EPS) { // 当函数值的绝对值小于精度时停止循环
if (f(a) * f(mid) < 0) {
b = mid;
} else {
a = mid;
}
mid = (a + b) / 2;
}
return mid;
}
int main() {
double a = 0, b = 5;
double root = bisection(a, b);
printf("The root of the equation is: %lf\n", root);
return 0;
}
```
在上面的代码中,函数 `f` 表示要求根的方程, `bisection` 函数是二分法的实现,其中 `a` 和 `b` 分别表示二分法的左右端点, `mid` 表示中点。在 `bisection` 函数中,我们不断缩小区间的长度,直到区间长度小于精度 `EPS` 时停止循环并返回中点 `mid`。
最后,我们可以在 `main` 函数中设置 `a` 和 `b` 的初始值,调用 `bisection` 函数求解方程的根,并输出结果。