键盘输入20个学生的姓名和总分,按总分从大到小的顺序输出这20个学生的姓名和总分
输出的学生姓名和成绩怎么能对应上!!
建议如下:
//把 t 定义为结构体变量
struct student t;
//然后排序的地方整体交换即可:
t = a[j];
a[j] = a[j+1];
a[j+1] = t;
你的交换思路不对,应该是交换节点,不是只交换成绩,正确的做法应该如下:
struct student t;
//排序的if语句内部改为如下:
t = a[j];
a[j] = a[j+1];
a[j+1] = t;