c语言解方程
时间: 2023-06-21 19:08:12 浏览: 255
在C语言中解方程可以使用数值计算的方法,如牛顿迭代法、二分法、割线法等。以下是一个使用牛顿迭代法解方程的示例代码:
```c
#include <stdio.h>
#include <math.h>
double f(double x) {
return x * x - 2; // 待求解的方程为 x^2 = 2
}
double df(double x) {
return 2 * x; // 方程的导函数为 2x
}
double newton(double x0, double eps, int max_iter) {
double x = x0;
int iter = 0;
while (fabs(f(x)) > eps && iter < max_iter) {
x = x - f(x) / df(x); // 使用牛顿迭代公式
iter++;
}
if (iter == max_iter) {
printf("Failed to converge!\n");
}
return x;
}
int main() {
double x0 = 1.0; // 初始点
double eps = 1e-6; // 允许误差
int max_iter = 100; // 最大迭代次数
double x = newton(x0, eps, max_iter);
printf("The solution is: %lf\n", x);
return 0;
}
```
该代码使用牛顿迭代法求解方程 x^2 = 2,初始点为1,允许误差为1e-6,最大迭代次数为100。输出结果为 1.414214,即方程的解。