计算形参x所指数组中N个数的平均值(规定所有数均为正数)

计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y数组中输出
#include <stdlib.h>
#include <stdio.h>
#define N 10
double fun(double x[],double *y)
{ int i,j; double av;
av=0.0; //av为double型
for(i=0; i<N; i++)
av=av+x[i]/N; //将 sum=0;sum=sum+x[i];av=sum/N;合成一条
for(i=j=0; i<N; i++)
if(x[i]>av) y[j++]= x[i]; //若为y[j]的话,会导致y[0]这个元素会不断被赋值
y[j]=-1; //题目将x[i]全设定为整数,y[j]=-1相当于终点,为下面输出做铺垫
return av;
}
void main()
{ int i; double x[N],y[N];
for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
printf("\n");
printf("\nThe average is: %f\n",fun(x,y));
for(i=0; y[i]>=0; i++) printf("%5.1f ",y[i]);
printf("\n");
}