#include
#include
double fun(double x)
{
double r;
if(x==0)
{
r=1;
}
else
{
r=sin(x)/x;//注意x=0时,极限为1
}
return r;
}
void main()
{
double a=0;
double b=1;
double e=0.0000005;//积分值具有7位有效数字
int n=1;
double h;
double s;
double t;
int k;
h=b-a;
s=h*(fun(a)+fun(b))/2;
t=s+e+1;//s要收敛于某个接近它的值,先让s与远离s的一个值t比较,再让t=s,不断逼近,这里的1可以取大点
while(fabs(s-t)>=e)
{
t=s;
s=0;
for(k=0;k<=n-1;k++)
{
s+=fun(a+(k+0.5)*h);
}
s=t/2+h*s/2;
h/=2;
n*=2;
}
cout<
cout<
cout<
}