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;k 0) {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