📄 梯形公式的逐次分半法.cpp
字号:
#include<iostream.h>
#include<math.h>
#include<stdio.h>
double f(double s)
{ double t;
t=1/(1+s*s);
return t;
}
void main()
{ int n=1;
double i,h,a,b,I,T0,F=0,v,T;
cout<<"请输入上限值:";
cin>>b;
cout<<"请输入下限值:";
cin>>a;
cout<<"请输入允许误差值:";
cin>>v;
h=(b-a)/2;
T0=h*(f(a)+f(b));
for( i=1;i<n;i++)
F=F+f(a+h*(2*i-1));
T=T0/2+h*F;
do
{ F=0;
n=2*n;
h=h/2;
T0=T;
for( i=1;i<n;i++)
F=F+f(a+h*(2*i-1));
T=T0/2+h*F;
}while(fabs(T-T0)>=(3*v));
I=T;
cout<<endl;
cout<<"积分结果是:"<<I;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -