#include<iostream.h>
#include<math.h>
#include<iomanip.h>
double sum4(double);//函数声明
double sum2(double);
double f(double);
//
void main()
{
double sn,s2n,h,result,a,b;
double eps;
int n;
cout<<"请输入a=";
cin>>a;
cout<<"请输入b=";
cin>>b;
cout<<"请输入EPS(比如:如果输入7,则表示为10^-7)=";
cin>>eps;
if(a>b||eps<0)return;
eps=pow(10,-eps);//精度
h=b-a;
n=(int)((b-a)/h);
sn=h/(6*n)*(f(a)+4*sum4(h)+2*sum2(h)+f(b));
while(h>0)
{
h/=2;
s2n=h/(6*n)*(f(a)+4*sum4(h)+2*sum2(h)+f(b));
if((fabs(s2n-sn)/15)>eps)sn=s2n;
else
{
result=s2n;//退出循环条件
break;
}
}
cout<<"结果是"<<setprecision(9)<<resul
#include<math.h>
#include<iomanip.h>
double sum4(double);//函数声明
double sum2(double);
double f(double);
//
void main()
{
double sn,s2n,h,result,a,b;
double eps;
int n;
cout<<"请输入a=";
cin>>a;
cout<<"请输入b=";
cin>>b;
cout<<"请输入EPS(比如:如果输入7,则表示为10^-7)=";
cin>>eps;
if(a>b||eps<0)return;
eps=pow(10,-eps);//精度
h=b-a;
n=(int)((b-a)/h);
sn=h/(6*n)*(f(a)+4*sum4(h)+2*sum2(h)+f(b));
while(h>0)
{
h/=2;
s2n=h/(6*n)*(f(a)+4*sum4(h)+2*sum2(h)+f(b));
if((fabs(s2n-sn)/15)>eps)sn=s2n;
else
{
result=s2n;//退出循环条件
break;
}
}
cout<<"结果是"<<setprecision(9)<<resul