www.pudn.com > fxxfcz.rar > DEMO0301.C


#include  
#include  
#include  
#define  MN 51 
static   double A0=1.0,B0=3.0,EPS=1.0E-4; 
static   double  FA,FB,X0,X1,Y0,Y1; 
static   double A[MN],B[MN],X[MN],Y[MN],E[MN]; 
static   int RN=1; 
double f(double x){return(x*x-5.0);} 
 
Operation() 
{ int k; 
  FA=f(A0); 
  A[0]=A0; 
  B[0]=B0; 
  X[0]=(A0+B0)/2.0; 
  Y[0]=f(X[0]); 
  E[0]=(B0-A0)/2; 
  for(k=1;k0) {A[k]=X[k-1];B[k]=B[k-1];} 
     else           {A[k]=A[k-1];B[k]=X[k-1];} 
     X[k]=(A[k]+B[k])/2.0; 
     Y[k]=f(X[k]); 
     E[k]=(B[k]-A[k])/2; 
     if(E[k]0) a1=x; 
       else    b1=x; 
    x=(a1+b1)/2.0; 
    y=f(x); 
    if((b1-a1)/2.0