[问题] 用递回算平均值

楼主: a80885057 (断月岚)   2015-04-29 02:02:44
#include <stdio.h>
#include <stdlib.h>
float rsum(int *a, int n);
int main()
{
int a[200];
int i, n;
printf("Input number: ");
scanf("%d",&n);
for (i=1;i<=n;i++)
scanf("%d",&a[i]);
printf("Sum=%f", rsum(a,n));
system( "pause" );
return 0;
}
float rsum(int *a, int n) {
if (n<1)
return 0;
else
return (rsum(a, n-1)+a[n]);
}
如果要改成算出平均值的话
该在哪里除上N
因为我发现在副程式摆好像都不对
递回中都会多除一个N
作者: Litfal (Litfal)   2015-04-29 04:32:00
摆在递回外面不就好了...avg=sum/n,是说这种凸显不出递回好处的题目,我觉得没什么意义...
作者: GoalBased (Artificail Intelligence)   2015-04-29 09:00:00
这边是C井版..不是C..

Links booklink

Contact Us: admin [ a t ] ucptt.com