📄 zuixiao2.txt
字号:
#include<stdio.h>
#include<math.h>
#define MAX 20
double a,b;
int k;
double e;
double t[MAX][MAX];
double f(double x)
{
return 4.0/(1+x*x);
}
void Init()
{
printf("input a,b:");
scanf("%lf%lf",&a,&b);
printf("input: e= ");
scanf("%lf",&e);
printf(" k= ");
scanf("%d",&k);
}
void Calute()
{
int i,j;
int c;
int m;
double sum;
t[0][0]=(b-a)*(f(a)+f(b))/2;
for(i=1;i<k;i++)
{
sum=0;
for(j=1;j<=(int)pow(2.0,(i-1)*1.0);j++)
sum+=f(a+(2*j-1)*(b-a)/pow(2.0,i*1.0));
t[0][i]=1.0/2.0*t[0][i-1]+sum*(b-a)/pow(2.0,i*1.0);
}
c=k;
for(m=1;m<=3;m++)
{
for(i=0;i<c;i++)
{
t[m][i]=(pow(4.0,m*1.0)*t[m-1][i+1]-t[m-1][i])/(pow(4.0,m*1.0)-1);
if(m==3)
{
if(fabs(t[m][i-3]-t[m][i-4])<e)
{
printf("PI= %.6lf\n",t[m][0]);
return;
}
}
}
c--;
}
}
int main()
{
Init();
Calute();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -