用C语言编写二分法求方程实根的减半递推算法
时间: 2024-05-06 22:21:23 浏览: 240
好的,这是一个关于编程的问题。二分法求方程实根是一个常见的算法问题,我们可以使用递归或迭代的方式实现。以下是用C语言编写的减半递推算法:
```c
#include <stdio.h>
#include <math.h>
double f(double x) // 定义要求解的方程 f(x)
{
return x * x * x - 4 * x * x + 3 * x + 1;
}
double bisection(double a, double b, double eps) // 减半递推算法
{
double c;
while (fabs(a - b) > eps) // 二分判断条件
{
c = (a + b) / 2;
if (f(c) == 0 || fabs(a - b) / 2 < eps)
return c;
if (f(a) * f(c) < 0)
b = c;
else
a = c;
}
return (a + b) / 2;
}
int main()
{
double a = -10, b = 10, eps = 0.000001;
double root = bisection(a, b, eps);
printf("方程实根为: %.6lf\n", root);
return 0;
}
```
这个算法能够在一定精度范围内找到方程的实根。请问还有什么需要帮助的吗?
阅读全文