求高手看一下为什么输出错了
#include <string.h>#include <stdio.h>
struct Student{
int ID;
int class;
char name[10];
float score[3][3];
float sum;
}stu[3];
void input(struct Student stu[],int n)
{
int i,j;
for(i=0;i<n;i++)
{
scanf("%d%d%s",&stu[i].ID,&stu[i].class,stu[i].name);
for(j=0;j<3;j++)
{
scanf("%f",&stu[i].score[i][j]);
}
scanf("%f",&stu[i].sum);
}
}
void sort(struct Student stu[],int n)
{
int i,j;
struct Student temp;
for(i=0;i<n-1;i++)
{
for(j=n;j>i;j--)
{
if(stu[j].sum<stu[j-1].sum)
{
temp=stu[j];stu[j]=stu[j-1];stu[j-1]=temp;
}
}
}
}
void output(struct Student stu[],int n)
{
int i,j;
for(i=0;i<3;i++)
{
printf("%d,%d,%s,",stu[i].ID,stu[i].class,stu[i].name);
for(j=0;j<n;j++)
{
printf("%.1f,",stu[i].score[j]);
}
printf("%.1f\n",stu[i].sum);
}
}
int main()
{
int i;
input(stu,3);
sort(stu,3);
output(stu,3);
return 0;
}