作者a80885057 (断月岚)
看板C_Sharp
标题[问题] 用递回算平均值
时间Wed Apr 29 02:02:44 2015
#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
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.224.235.195
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1430244166.A.F59.html
※ 编辑: a80885057 (61.224.235.195), 04/29/2015 02:29:47
1F:推 Litfal: 摆在递回外面不就好了...avg=sum/n,是说这种凸显不出递回 04/29 04:32
2F:→ Litfal: 好处的题目,我觉得没什麽意义... 04/29 04:32
3F:→ GoalBased: 这边是C井版..不是C.. 04/29 09:00
恩,请板主帮我删一下吧 囧
※ 编辑: a80885057 (61.224.235.195), 04/29/2015 10:03:42