已知A【n】为整数数组,编写一个递归算法求其中n个元素的平均值

如题所述

#include<stdio.h>
int a[100],n;
float digui(int i){
    if(i==-1)return 0;
    return 1.0/n*a[i]+digui(n-1);
}
int main(){
   int ans,i;
   scanf("%d",&n);
   for(i=0;i<n;i++)scanf("%d",&a[i]);
   printf("%f",digui(n-1));
   return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-04-30
#include <stdio.h>
#define N 10
double average(int a[ ], int n)
{
if (n == 1)
return a[0];
else
return ((n - 1) * average(a, n - 1) + a[n - 1]) / n;
}
int main( )
{
int a[N] = {73, 39, 43, 71, 11, 7, 69, 77, 100, 96};
double aver;
aver = average(a, N);
printf("%lf\n", aver);
}
相似回答