标题:请看看这一题的代码应该怎么写吧
取消只看楼主
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
结帖率:96.88%
已结贴  问题点数:20 回复次数:5 
请看看这一题的代码应该怎么写吧
N名考生参加一场考试。这场考试共有M道题,每道题目分值不一,考生答对题目的总分达到或超过G则算通过考试。
告诉你每道题的分值,以及每名考生答对的题目的编号,
请按照总成绩降序的顺序,输出通过考试的考生号和分数。
【输入】
第1行有3个正整数,分别为参加考试的人数 N (1 ≤ N ≤ 10)、问题数M (1 ≤ M ≤ 10)、通过分数线G;
第2行有空格分隔的 M 个正整数,分别为第1题至第 M 题的分值
随后 N 行,每行给出一名考生的考生号、答对问题数量s、
以及这s道题的题号(问题从1开始编号),两两之间以一个空格隔开。
输入数据保证所有输入和输出整数在 int 范围内,考生号为长度不超过20的无空格字符串且不重复。
【输出】
第1行输出一个整数X,表示通过考试的考生数量,
接下来的X行,按总分降序输出通过考试的每位考生的考生号与总分,用空格隔开。
如果有考生的答对题目的总分相等,则考生号字符串的字典序较小的排在前面。
【样例输入】
4 5 25
10 10 12 13 15
SE004 3 5 1 3
SE003 5 2 4 1 3 5
SE002 2 1 2
SE001 3 2 3 5
【样例输出】
3
SE003 60
SE001 37
SE004 37
搜索更多相关主题的帖子: 考试 输入 总分 空格 输出 
2019-12-22 18:19
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
没有思路

我想要两颗西柚。
2019-12-22 18:19
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 3楼 rjsp
好像有一点小问题 不能AC

我想要两颗西柚。
2019-12-22 20:40
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 5楼 rjsp
好的好的,非常感谢

我想要两颗西柚。
2019-12-22 20:54
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 5楼 rjsp
!!好厉害 结构体太难了

我想要两颗西柚。
2019-12-22 21:51
komorebi0110
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:145
专家分:17
注 册:2019-11-23
得分:0 
回复 3楼 rjsp
很抱歉再次打扰您 那个cmp-candidate的用法没搞明白
我查了qsort的用法对结构体二级排序

struct In { int x; int y; }s[100];
//按照x从小到大排序,当x相等时按照y从大到小排序
int cmp(const void *a,const void *b)
{  struct In *c=(In *)a;struct In *d=(In *)b;
if(c->x != d->x)
 return c->x - d->x;
else
 return d->y - c->y;
}
qsort(s,100,sizeof(s[0]),cmp);

但是本题的输出应该是您写出的那样 原理是什么啊

我想要两颗西柚。
2019-12-22 22:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-498558-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.107079 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved