一个关于计算平均成绩的c语言成绩,请大神帮我改下我的程序 我的程序出错 请在错误的地方加注释 谢谢

问题:
据说很多刚入学的新生很重视自己的成绩,希望自己能排在平均成绩之上。现在你的任务是写一个程序,来输出平均成绩之上的学生的比例。
输入要求:
第一行给出一个正整数C(1<=C<=1000)表示测试数据的个数。下面有C行数据;每一行第一个数N(1<=N<=1000)表明班级的人数,紧接着有N个整数,表示每个人的成绩G(1<=G<=100),数与数之间用空格隔开;<br />
输出要求:
对于每一个测例,要求输出一个百分数,要求三位小数,最后一位四舍五入;
我的程序:
#include <stdio.h>
int main()
{
int c,number[1000][1001];
int i,j,sum;
float average;
scanf("%d",&c);
for (i=0;i<c;i++)
{
scanf("%d",&number[i][0]);//number[i][0]为每班的人数
for (j=1;j<=number[i][0];j++)
{
scanf("%d",&number[i][j]);//此处为number[i][0]个学生的成绩
}
}
for (i=0;i<c;i++)
{
sum=average=0;
for (j=1;j<number[i][0];j++)
{
sum=sum+number[i][j];
}
average=(float)sum/number[i][0];
printf("%.3f",average);
}
return 0;
}

#include <stdio.h>
int main()
{
int c,number[1000][1001];
int i,j,sum,num;
float average;
scanf("%d",&c);
for (i=0;i<c;i++)
{
scanf("%d",&number[i][0]);//number[i][0]为每班的人数 
for (j=1;j<=number[i][0];j++)
{
scanf("%d",&number[i][j]);//此处为number[i][0]个学生的成绩
}
}
for (i=0;i<c;i++)
{
num=sum=average=0;
for (j=1;j<=number[i][0];j++) //这里错了,少了一个=号
{
sum=sum+number[i][j];
}
average=(float)sum/number[i][0]; //这里错了,计算的是比平均分高的学生人数

        //计算大于平均分的人
        for (j=1;j<=number[i][0];j++)
        {
            if(number[i][j]>=average)
            {
                num++;
            }
        }
        average=(float)num/number[i][0]; //要的是这个值才对

printf("%.3f",average);
}
return 0;
}
温馨提示:答案为网友推荐,仅供参考