用二分法求下面方程在(一10,10)之间的根:
2x^3-4x^2+3x-6=0
#include<stdio.h> #include<math.h> int fun(float low,float high); int main(){ float low=-10,high=10; printf("方程2x^3-4x^2+3x-6=0在(一10,10)之间的根:"); fun(low,high); return 0; } //递归函数 int fun(float low,float high){ float mid; mid=(high+low)/2; float f0=2*low*low*low-4*low*low+3*low-6; float f=2*mid*mid*mid-4*mid*mid+3*mid-6; if(fabs(f)<1e-5){ //求得解 printf("%f ",mid); return 0; } float f1=2*high*high*high-4*high*high+3*high-6; if(f0*f<0) //递归左半边 fun(low,mid); if(f*f1<0) //递归右半边 fun(mid,high); }