不知道怎么弄了,老是出错(语言-c语言)

编写函数求某门课程的平均成绩。在主函数中输入成绩表,调用函数求平均成绩,并输出高于平均成绩的人数。
#include"stdio.h"
#define N 10
float average(float x[])
{float sum=0;
int i;
for(i=0;i<N;i++)
sum=x[i]+sum;
return sum/N;
}
void main()
{int i,a[N],cnt=0;
float avg;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
aver=average(a,N);
for(i=0;i<N;i++)
if(a[i]>aver)
cnt++;
printf("average=%.2f\n",ave)
printf("cnt=%d\n",cnt)
}

我给你改了,你这基础知识不行啊,数组和函数方面不行。
#include"stdio.h"
#define N 10
float average(int x[])
{float sum=0;
int i;
for(i=0;i<N;i++)
sum=x[i]+sum;
return sum/N;
}
int main()
{int i,a[N],cnt=0;
float avg;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
avg=average(a);
for(i=0;i<N;i++)
if(a[i]>avg)
cnt++;
printf("average=%.2f\n",avg);
printf("cnt=%d\n",cnt);
}

img

average函数只有一个形参,在进行值传递时只能传递一个实参,故语句aver=average(a,N)是错误的,把N去掉即可。