编辑代码

#include <stdio.h>
int main ()
 {
   double x;
   double x1,x2,x0;
   double xmin,xmax;
   double k1,k2,m1,m2,n1,n2;
   double a1,b1,a2,b2;
   double y,y0,y1,y2;
   int k=0,s=0;
   a1=1.372; b1=8.628; a2=1.500; b2=3.500;
   x1=0; x2=1.372;
   while(s<100)
   {
    s=s+1;
    x=(x1+x2)/2;
    xmin=(x1+x)/2;xmax=(x2+x)/2;
    k1=a1-xmin;m1=b1-2*xmin;n1=m1*m1;y1=k1*n1;
    k2=a2-xmin;m2=b2-2*xmin;n2=m2*m2;y2=k2*n2;
    y=y1-y2;
    k1=a1-xmax;m1=b1-2*xmax;n1=m1*m1;y1=k1*n1;
    k2=a2-xmax;m2=b2-2*xmax;n2=m2*m2;y2=k2*n2;
    y0=y1-y2;
   printf("%f %f %f %f %f %f %f %d\n",y1,y2,y,y0,x,x1,x2,s);
   if(y*y>y0*y0) x1=x;
   if(y*y<y0*y0) x2=x;
  }
   printf("%f %f %f %d",x,y,y0,s);

	return 0;
}