c语言用二分法求方程发(x
时间: 2023-06-06 11:06:03 浏览: 141
)好的,这是一个算法问题,可以回答。二分法是一种查找算法,适用于有序数据集合。在 C 语言中可以用循环或递归实现。以下是用循环实现二分法求方程 f(x) = 0 的根的代码示例:
```
#include <stdio.h>
// 定义待求解的函数
double f(double x) {
return x * x - 2.0; // f(x) = x^2 - 2
}
// 二分法求解
double bisect(double a, double b, double eps) {
double fa = f(a), fb = f(b);
while (b - a > eps) {
double c = (a + b) / 2.0, fc = f(c);
if (fa * fc <= 0) { // 如果 fa 和 fc 异号,则根在 [a,c] 之间
b = c; fb = fc;
} else { // 否则根在 [c,b] 之间
a = c; fa = fc;
}
}
return (a + b) / 2.0; // 返回近似解
}
int main() {
double a = 0.0, b = 2.0, eps = 1e-6;
double x = bisect(a, b, eps);
printf("f(x) = 0 的解为 %f\n", x);
return 0;
}
```
该程序的输出是:f(x) = 0 的解为 1.414214。
阅读全文