c语言成绩从高到低排列,C语言老师出的题,不会做,dalao们帮个忙呗,非常感谢…

  • Post author:
  • Post category:其他


【问题描述】

从标准输入连续读入n(n<10)个学生的学号(不超过int类型表示范围)以及数学、英语、语文三门课的成绩,各行数据已经按学号从低到高排序了。请计算个人的平均成绩,并且按个人的总成绩由高到低排序(如果总成绩相同,按学号由低到高排序,但前面的排序序号不变,即两人排名相同),将排名结果在屏幕上显示出来(要求同一列右对齐,其中排名占4个字符、学号占10个字符,数学、英语、语文各占5个字符)。如输入的学生人数n大于等于10,则打印输出“Please input 1-9.“, 然后,退出程序。提示:冒泡法会保持原始数组中相同元素的次序不变。

【输入形式】

从控制台输入一个小于10的正整数,表示学生人数;然后分行输入学号以及数学、英语、语文三门课的成绩,中间用空格分隔。

【输出形式】

1、控制台输出排序结果,要求输出:排名结果、学号、数学成绩、英语成绩、语文成绩。

2、要求同一列右对齐,其中排名占4个字符、学号占10个字符,数学、英语、语文各占5个字符。

3、如两人总成绩相同,按学号由低到高排序输出,但前面的排序序号不变,即两人排名相同。

【样例输入1】

8

39060405 78 82 69

39060412   95 85 91

39060413  95 86 90

39060415   98 88 85

39060419   75 89 88

39060421 89 88 75

39060425   85 78 93

39060427 87 92 88

【样例输出1