好像是第二个函数返回值错了,但是不知道怎么改。

题目:5个班学生的平均分,并按平均分从高到低排序,要求输入5个班的学生成绩(每个班人数不完全相同),输出各班平均分和排序结果(求平均分和排序均由函数实现)。
我输出是五个零。 好像是第二个函数返回值错了,但是不知道怎么改。

#include
int jiahe (int a[61],float n)
{
    int sum=0,j;
    for(j=0;jreturn (sum);//加和函数
}

float paixv (float b[5]){
    int i,j; float t;
for(i=0;i<5;i++)
        {
            for(j=i+1;j<5;j++){
                if(b[j]>b[i]){
                    t=b[j];b[j]=b[i];b[i]=t;
                }
        }

      } return b[5];  //排序函数
}

void main()        //主函数
{
  int i,j,a[61],sum1;
  float c[5],t,n;

  for(i=0;i<5;i++){
        scanf("%f",&n);
        for(j=0;jscanf("%d",&a[j]);

            } sum1= jiahe (a,n);    c[i]=sum1/n;

      }

       for(i=0;i<5;i++){
  printf("%.2f ",paixv(c));
         }


 }


return b[5]已经越界了。数组只有5个元素,b[5]表示第六个。