主函数调用副函数问题

计算n个学生的成绩中,高于平均成绩的人数,并作为函数值。用主函数来调用它,统计50个学生成绩中,求高于平均成绩的人数
我是这样写的:
#include
int over(float,int);

int main(void)
{
int n[50],i,j,t=0;
float a;
printf("请输入成绩:");
for(i=0;i scanf("%d",&n[i]);
for(i=0;i t+=n[i];
a=t/50.0;
printf("高于平均成绩的有%d人。",over(a,n);
}
int over(float a,int n[50])
{ int i,j=0;
for(i=0;i { if(n[i]>a)
++j;
return(j);
}
编译一直不通过,是我在实参调用上出错了吗?
还有其他的地方有没有错,求解答。

函数申明是int 而实际是一个数组

第二行代码就错了,声明的时候函数第二个参数为int型,但在定义的时候第二个参数却是一个int型数组。

开头函数原型和下面的不一致

printf("高于平均成绩的有%d人。",over(a,n);
这里括号不匹配

最后的for循环少一个后花括号

 #include<stdio.h>
int over(float,int[50]);

int main(void)
{
  int n[50],i,j,t=0;
  float a;
  printf("请输入成绩:");
  for(i=0;i<50;i++)
  scanf("%d",&n[i]);
  for(i=0;i<50;i++)
  t+=n[i];
  a=t/50.0;
  printf("高于平均成绩的有%d人。",over(a,n));
}
int over(float a,int n[50])
{ int i,j=0;
  for(i=0;i<50;i++)
  { if(n[i]>a)
     ++j; }
  return(j);
}

给你修改了下

如果我的回答有帮助,请点下我回答右边的采纳,谢谢