有个C程上机作业题,对大神来说应该挺简单的,但我啥都不会,求求大神了!!!

【问题描述】

一个小组五位同学,选修了相同的4门功课。请输入5位同学各4门的成绩,计算每位同学的总分。

然后按总分对二维数组排序,并输出排序后的每位学生信息。

5位同学的学号信息如下表:

学号

S1

S2

S3

S4

total

1001

1002

1003

1004

1005

【实验提示】

定义的二维数组需要保存学号与总分信息。建议定义5列6列的二维数组,第0列存储学号。第5列存储总分。学号以初始化方式录入数组第0列。

注意,排序交换数据时需要一整行都交换。

【输入形式】

按行输入5位学生的4个成绩数据
【输出形式】

以二维表格形式输出5位学生的学号、4门成绩、总分,一行输出一名学生信息
【样例输入】

Input 1001 4 score:1 2 3 4

Input 1002 4 score:55 65 75 85

Input 1003 4 score:33 44 55 66

Input 1004 4 score:10 20 30 40

Input 1005 4 score:81 85 91 95

【样例输出】

1001 1 2 3 4 10

1002 55 65 75 85 280

1003 33 44 55 66 198

1004 10 20 30 40 100

1005 81 85 91 95 352

========sort========

1005 81 85 91 95 352

1002 55 65 75 85 280

1003 33 44 55 66 198

1004 10 20 30 40 100

1001 1 2 3 4 10

【样例说明】

下划线上是输入的数据,前面是输入前的提示信息。

首先输出初始数据,再输出按总分降序排序后的数据。

每个数据输出都占5列,右对齐。

两次输入之间插入输出分隔 ========sort========(左右各8个=)

【评分标准】100分满分

第1个回答  2017-11-09
#includestructPoker{charnum;charcolor;};intcomparenum(chara,charb){a=(a=='A'?'9'+5:a);b=(b=='A'?'9'+5:b);a=(a=='K'?'9'+4:a);b=(b=='K'?'9'+4:b);a=(a=='Q'?'9'+3:a);b=(b=='Q'?'9'+3:b);a=(a=='J'?'9'+2:a);b=(b=='J'?'9'+2:b);a=追问

应该还没完吧。。。。。后面的是啥。。。。

本回答被网友采纳
第2个回答  2020-04-18

相似回答