用归纳法设计一个递归算法,求在A[1...N]中n个实数的平均数

如题所述

int avg(int* a,int x)
{
if(x==0)
return a[x];
else
return (avg(a,x-1)+a[x])/2;
}
在main函数中使用:
avg(a,x);//其中a是要求平均数的数组,x是数组的长度-1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-27
#include "stdio.h"
double sum(double *d,int n)
{
if(n>=1)
return sum(d,n-1)+d[n-1];
else
return 0;
}
int main()
{
double a[1024];
int N,i;
printf("输入个数N:");
scanf("%d",&N);
printf("输入%d个实数:",N);
for(i=0;i<N;i++)
scanf("%lf",&a[i]);
printf("%lf",sum(a,N)/double(N));
}本回答被网友采纳
第2个回答  2013-03-27
Fn = ((n-1) * f(n-1) + an)/n
相似回答