想了很久,但是该怎么解决呢,得不到答案啊
龙贝格公式求积分----输出有问题啦,求解答#include<stdio.h>
#include<math.h>
#define maxsize 100
int main(void)
{
double a,b,t[maxsize],s[maxsize],c[maxsize],r[maxsize];
double f(double c);
double sum;
int i,n,k;
printf("请输入积分下限:\n");
scanf("%lf",&a);
printf("请输入积分上限:\n");
scanf("%lf",&b);
printf("please input n=\n");
scanf("%d",&n);
for(k=1;k<=n;k++)
{
sum=0;
t[1]=(b-a)*(f(a)+f(b))/2;
for(i=1;i<=pow(2,k-1);i++)
sum+=f(a+(b-a)*(2*i-1))/pow(2,k);
t[(int)pow(2,k)]=t[(int)pow(2,k-1)]/2+(b-a)*sum;
}
for(k=1;k<=n;k++)
{
s[(int)pow(2,k-1)]=(4/3)*t[(int)pow(2,k)]-(1/3)*t[(int)pow(2,k-1)];
}
for(k=2;k<=n;k++)
{
c[(int)pow(2,k-2)]=(16/15)*s[(int)pow(2,k-1)]-(1/15)*s[(int)pow(2,k-2)];
}
for(k=3;k<=n;k++)
{
r[(int)pow(2,k-3)]=(64/63)*c[(int)pow(2,k-2)]-(1/63)*c[(int)pow(2,k-3)];
}
printf("r[%d]=%lf",k);/*请问我这里该怎么输出来啊?k=0输出t1,k=1输出t2,s1,k=2输出t4,s2,c1,k=3输出t8,s4,c2,r1依次类推*/
return 0;
}
double f(double c)
{
double y;
y=c;
return y;
}