C语言二分法求函数零点
时间: 2023-12-03 12:39:43 浏览: 78
以下是两种C语言二分法求函数零点的例子:
1.引用:
```c
#include <stdio.h>
double f(double x);
void ok(double a, double b);
int main() {
ok(1.5,2.4);
return 0;
}
double f(double x) {
return x*x*x*x*x - 15*x*x*x*x+ 85*x*x*x- 225*x*x+ 274*x - 121;
}
void ok(double a, double b) {
double mid,result;
mid = (a + b) / 2;
result = f(mid);
if(result > 0.000001) {
ok(mid,b);
} else if(result < -0.000001) {
ok(a,mid);
} else {
printf("%.6lf",mid);
}
}
```
2.引用:
```c
#include <stdio.h>
#include <math.h>
double begin=1.5,end=2.4,aver;
double function(double x){
double y=pow(x,5)-15*pow(x,4)+85*pow(x,3)-225*pow(x,2)+274*x-121;
return y;
}
int main(){
while(end-begin>0.000001){
aver=(begin+end)/2;
if(function(aver)>0) begin=aver;
else end=aver;
}
printf("%.6f",aver);
}
```