一直报c2143错误,符号没有问题怎么办


#include<stdio.h>
#define N 10
#define M 5
float score[N][M];
float a_stu[N],a_cour[M];
int r,c;
int main()
{int i,j;
float h;
float s_var(void);
float highest();
void input_stu(void);
void aver_stu(void);
void aver_cour(void);
input_stu();
aver_stu();
printf("\n学号 课程1 课程2 课程3 课程4 课程5 平均\n");
for(i=0;i<N;i++)
{printf("\n 学号 %2d",i+1);
for(j=0;j<M;j++)
{printf("%8.2f", score[i][j]);
printf("%8.2f\n" ,a_stu[i]);
}
printf("\n平均:");
for(j=0;j<M;j++)
printf("%8.2f" ,a_cour[j]);
printf("\n");
h=highest();
printf("最高:%7.2f 学号 %2d  课程  %2d\n",h,r,c);
return  0;
}
void input_stu(void);
 {int i,j;
  for(i=0;i<N;i++)
   {printf("\n 输入学生成绩%2d:\n",i+1);
 for(j=0;j<M;j++)
scanf("%f",&score[i][j]);
}
}
void aver_stu(void);
{int i,j;
float s;
for (i=0;i<N;i++)
{for (j=0,s=0;j<M;j++)
s+=score[i][j];
a_stu[i]=s/5.0f;
}
     }
void aver_cour(void);
{int i,j;
 float s;
for (j=0;j<M;i++)
    {s=0;
     for(i=0;i<N;i++)
     s+=score[i][j];
   a_cour[i]=s/(float)N;
     }
}
float highest();
   {float high;
    int i,j;
    high=score[0][0];
     for(i=0;i<N;i++)       
     for(i=0;i<M;i++)
         if(score[i][j]>high)
           {high=score[i][j];
            r=i+1;
            c=i+1;
}
 return(high);
}
float s_var(void);
{int i;
float sumx,sumxn;
sumx=0.0;
sumxn=0.0;
for(i=0;i<N;i++)
 {sumx+=a_stu[i]*a_stu[i];
  sumxn+=a_stu[i];
}
return(sumx/N-(sumxn/N)*(sumxn/N));
}
}

1>c:\users\15631\documents\visual studio 2010\projects\1\1.c(32): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>c:\users\15631\documents\visual studio 2010\projects\1\1.c(40): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>c:\users\15631\documents\visual studio 2010\projects\1\1.c(49): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>c:\users\15631\documents\visual studio 2010\projects\1\1.c(59): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)
1>c:\users\15631\documents\visual studio 2010\projects\1\1.c(72): error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

函数的定义后面不要写分号,然后最后写主函数外面
希望采纳一下啊

img

#include<stdio.h>
#define N 10
#define M 5
float score[N][M];
float a_stu[N], a_cour[M];
int r, c;

float s_var();
float highest();
void input_stu();
void aver_stu();
void aver_cour();

int main()
{
    int i, j;
    float h;
    input_stu();
    aver_stu();
    printf("\n学号 课程1 课程2 课程3 课程4 课程5 平均\n");
    for (i = 0; i < N; i++)
    {
        printf("\n 学号 %2d", i + 1);
        for (j = 0; j < M; j++)
        {
            printf("%8.2f", score[i][j]);
            printf("%8.2f\n", a_stu[i]);
        }
        printf("\n平均:");
        for (j = 0; j < M; j++)
            printf("%8.2f", a_cour[j]);
        printf("\n");
        h = highest();
        printf("最高:%7.2f 学号 %2d  课程  %2d\n", h, r, c);
        return  0;
    }
    
}

void input_stu()
{int i, j;
for (i = 0; i < N; i++)
{
    printf("\n 输入学生成绩%2d:\n", i + 1);
    for (j = 0; j < M; j++)
        scanf_s("%f", &score[i][j]);
}
}
void aver_stu()
{int i, j;
float s;
for (i = 0; i < N; i++)
{
    for (j = 0, s = 0; j < M; j++)
        s += score[i][j];
    a_stu[i] = s / 5.0f;
}
}
void aver_cour()
{int i, j;
float s;
for (j = 0; j < M; i++)
{
    s = 0;
    for (i = 0; i < N; i++)
        s += score[i][j];
    a_cour[i] = s / (float)N;
}
}
float highest()
{float high;
int i, j = 0;
high = score[0][0];
for (i = 0; i < N; i++)
    for (i = 0; i < M; i++)
        if (score[i][j] > high)
        {
            high = score[i][j];
            r = i + 1;
            c = i + 1;
        }
return(high);
}
float s_var()
{
    int i;
    float sumx, sumxn;
    sumx = 0.0;
    sumxn = 0.0;
    for (i = 0; i < N; i++)
    {
        sumx += a_stu[i] * a_stu[i];
        sumxn += a_stu[i];
    }
    return(sumx / N - (sumxn / N) * (sumxn / N));
}