[問題] 用遞迴算平均值

作者: 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