求教 急用
.编程题。有一个数列,前三项都是1,从第四项开始,每一项都是其相邻前三项之和的1/2。
编写通用过程(函数或子程序),求数列前n项的平均值。要求调用该过程,计算并输出n=47时前n项的平均值(保留2位小数)。
float fun(int n); main() { int i,n,t=1; float sum=0.0,temp;
printf("请输入N: n = "); scanf("%d",&n);
for(i=1;i<=n;i++) { temp=fun(i); printf("第%3d项为 %f ",i,temp); sum+=temp; if(t%3==0)printf("\n"); t++; } printf("\n\n前%3d项的平均值为 %f ",n,sum/n); }
float fun(int n) { float s; if (n<=3)s=1; else s=(fun(n-1)+fun(n-2)+fun(n-3))/2; return s; }