📄 龙贝格 .cpp
字号:
#include <iostream.h>
#include <math.h>
double a,b,e,h,x,T1,T2,S,S1,S2,C1,C2,R1,R2;
int k;
double f(double x)
{
double y;
if(x==0)
y=1;
else
y=sin(x)/x;
return y;
}
void zihanshu ()
{
k++;
h=h/2;
T1=T2;
S1=S2;
}
void main()
{
cout<<"请输入积分上下限a,b及误差限e的值"<<endl;
cin>>a>>b>>e;
h=b-a;
T1=h*(f(a)+f(b))/2;
for(k=1;k<=1000;k++)
{
S=0;
x=a+h/2;
for(;x<b;)
{
S+=f(x);
x+=h;
}
T2=T1/2+h*S/2;
S2=T2+(T2-T1)/3;
if(k==1)
{
zihanshu ();
continue;
}
else
{
C2=S2+(S2-S1)/15;
if(k==2)
{
C1=C2;
zihanshu ();
continue;
}
else
{
R2=C2+(C2-C1)/63;
if(k==3)
{
R1=R2;
C1=C2;
zihanshu ();
continue;
}
else if(fabs(R2-R1)>=e)
{
R1=R2;
C1=C2;
zihanshu ();
continue;
}
else
{
cout<<"积分结果为"<<R2<<endl;
break;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -