标题:龙贝格公式求积分----输出有问题啦,求解答
只看楼主
梁朝斌
Rank: 4
等 级:业余侠客
帖 子:192
专家分:288
注 册:2012-10-21
结帖率:100%
 问题点数:0 回复次数:0 
龙贝格公式求积分----输出有问题啦,求解答
#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;
}
     
搜索更多相关主题的帖子: double 积分 include please 
2012-12-11 23:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-390765-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.397127 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved