不能输出,不知道错哪里了

数组排序



#include<stdio.h> 
struct student{
int num;
char name[50];
int great;
};
int main()
{
int index,i,j,n;
struct student students[50],temp;
scanf("%d",&n);
for(i=0;i<n;i++){
 scanf("%d %s %d",&students[i].num,students[i].name,&students[i].great);
}
for(i=0;i<n-1;i++){
index=i;
 for(j=i+1;j<n;j++){
     if(students[j].great>students[index].great){
           index=j;
     }  
 }
 temp=students[index];
 students[index]=students[i];
 students[i]=temp;
}
for(i=0;i<n;i++){
    scanf("%d %s %d\n",students[i].num,students[i].name,students[i].great);
}
return 0;
}

最后的输出写错了 用printf

img

输出用printf,scanf是输入用的