从键盘输入一个班(全班人数在1520之间)学生某门课的成绩,当输入成绩为负值时,输入结束,分别实现下列功能,并在一个主函数内全部实现:2016020)和考试成绩;
(1)录入每个学生的学号(学号:2016001
(2)计算课程的总分和平均分;
(3)按成绩由高到低排出名次表;
这是第三问,哪位同志知道哪错了,求指点
#include <stdio.h>
#define N 20
void main()
{ int a[N]={2016001},i,j;
float(b[N]),x;
for(i=0;i<N-1;i++)
a[i+1]=a[i]+1;
printf("请按学号输入成绩: \n");
for (i= 0; i<N;i++)
{
ai:printf("%d: ",a[i]);
scanf("%f",&b[1]);
if(b[i]> 100 || b[i]<0)
{
printf("%d成绩输入错误,请从新输入 \n", a[i]);
goto ai;
}
}
for (i=0; i < N-1; i++)
{
for(j=i;j<N;j++)
{
if(b[i]<b[j])
{
x=b[j];
b[i]=b[j];
x=a[i];
a[i]=a[j];a[j]=x;
}
}
}
for(i=0;i,N;i++)
{
printf("第%d名:%d\t",i+1, a[i]);
printf("%f\n", b[i]);
}
system("pause");
}