输入100个学生的学号 姓名和成绩 按从高分到低分的顺序排列后输出,输出后是乱码 输出错误吗?求道神,,

#include "stdio.h"struct student{ int num; char name[20]; int score;};void main(){ int i,j; struct student a[100],t; for(i=0;i<100;i++) scanf("%d%s%d",&a[i].num,a[i].name,&a[i].score); for(i=0;i<99;i++) for(j=i+1;j<100;j++) if(a[i].score<a[j].score) {t=a[i];a[i]=a[j];a[j]=t;} for(i=0;i<100;i++) printf("\n %5d,%15s,%5d",a[i].num,a[i].name,a[i].score);

}

程序没有问题,我输入了5个学生数据,完全正常的:

温馨提示:答案为网友推荐,仅供参考
相似回答