[問題] 用遞迴算平均值
#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://www.ptt.cc/bbs/C_Sharp/M.1430244166.A.F59.html
※ 編輯: a80885057 (61.224.235.195), 04/29/2015 02:29:47
推
04/29 04:32, , 1F
04/29 04:32, 1F
→
04/29 04:32, , 2F
04/29 04:32, 2F
→
04/29 09:00, , 3F
04/29 09:00, 3F
恩,請板主幫我刪一下吧 囧
※ 編輯: a80885057 (61.224.235.195), 04/29/2015 10:03:42
C_Sharp 近期熱門文章
PTT數位生活區 即時熱門文章