用二分法求解根
#include<stdio.h>
#include<math.h>
double func(double x);
int main(void){
    double x0;
    double x1=-10;
    double x2=10;
    double fx1,fx2,fx0;
    fx1=func(x1);
    fx2=func(x2);
   do{
    x0=(x1+x2)/2;
    fx0=func(x0);
    if(fx1*fx0<0){
        x2=x0;
        fx2=fx0;
    }
    else{
        x1=x0;
        fx1=fx0;
    }
   }while(fabs(fx0)>1e-5);
    printf("the root is %lf",x0);
}
double func(double x){
    return x*((2*x-4)*x+3)-6;
}
 
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号