递归求n个数的平平均值(c语言)解决方案

递归求n个数的平平均值(c语言)
#include<stdio.h>
float Avg(int a[],int n);
float Avg(int a[],int n)
{
 if(n==1) return a[0];
 else return float(Avg(a,n-1)*(n-1)+a[n-1])/n;
}
void main()
{
int array[10];
for(int i=0;i<10;i++)
{
scanf("%d\n",array[i]);
}
//Avg(array,10);
  printf("这10个数的平均值是:%f\n",Avg(array,10));
}
这个递归函数问题出在哪呀?

------解决方案--------------------
C/C++ code

#include<stdio.h>
float Avg(int a[],int n);
float Avg(int a[],int n)
{
 if(n==0) return a[0];
 else 
     return Avg(a,n-1)+a[n];
}
void main()
{
int array[10];
for(int i=0;i<10;i++)
{
 scanf("%d",&array[i]);  //要这样输入吧
}
//Avg(array,10);
  printf("这10个数的平均值是:%f\n",Avg(array,9)/10);
}