请教 用递归法调用求一整型数组的平均值 错在哪儿?

作者在 2007-04-05 16:33:00 发布以下内容

以下是一个用递归法调用求一整型数组的平均值,我没有看懂 return ((float)(n*f(n-1)+a[n])/(n+1));
错在哪儿? 把它放在Turboc2.0中验证,结果错了:f(10)=944.182  。书上说正确的答案是f(10)=4 。请高手指教?!

#include<stdio.h>
int a[]={0,1,2,3,4,5,6,7,8,9};

float f(int n)
{
    if(n==1)
 return a[0];
    else
 return ((float)(n*f(n-1)+a[n])/(n+1));
}

main()
{
int n=10;
printf("f(%d)=%g\n",n,f(n));
getch();
}

C语言问题请教 | 阅读 3870 次
文章评论,共1条
laigaoat2005(作者)
2007-04-17 00:11
1
为什么没有人理我啊

救命啊。
游客请输入验证码
文章归档