#include<stdio.h>
#include<math.h>
double f(double x)
{
return sqrt(4-x*x);
}
main()
{
double a,b,s1,s2,s,h,m=1E-6;
int n,i;
printf("请输入积分下限a和积分上限b\n");
scanf("%lf""%lf",&a,&b);
s2=0;n=100;
do
{s1=s2;n=2*n;h=(b-a)/n;i=1;s2=0;
do
{s=(f(a+i*h)+f(a+(i-1)*h))*h/2;
s2=s2+s;
i=i+1;
}
while(i<=n);
}
while((fabs(s1-s2))>(m*(fabs(s2)-fabs(s1))));
printf("f(x)在[a,b]上的定积分为%lf",s2);
return 0;
}