STL综合题:歌唱比赛
某学校举行一场唱歌比赛,共有24个人参加,按参加顺序设置参赛号(参赛号为100至123)。每个选手唱完一首歌之后,由10个评委分别打分。该选手的最终得分是去掉一个最高分和一个最低分,求得剩下的8个评分的平均分。
比赛共三轮,前两轮为淘汰赛,第三轮为决赛。选手的名次按得分降序排列,若得分一样,按参赛号升序排名。
第一轮分为4个小组,根据参赛号顺序依次划分,比如100-105为一组,106-111为第二组,依次类推,每组6个人,每人分别按参赛号顺序演唱。当小组演唱完后,淘汰组内排名最后的三个选手,然后继续下一个小组的比赛。
第二轮分为2个小组,每组6人,每个人分别按参赛号顺序演唱。当小组演唱完后,淘汰组内排名最后的三个选手,然后继续下一个小组的比赛。
第三轮只剩下6个人,本轮为决赛,不淘汰选手,本轮目的是赛出每个人的名次。该6人按参赛号顺序分别演唱。
请用STL解答以下问题:
请打印出所有选手的名字与参赛号,并以参赛号的升序排列。
请打印出第1轮和第2轮淘汰赛中,各小组选手的名字与选手得分,并以名次的顺序排列
请打印出第1轮淘汰赛中被淘汰的歌手的名字(不要求打印顺序)。
请打印出第2轮淘汰赛中被淘汰的歌手的分数,并以名次的降序排列
【题目分析】讲解纲要
一、总体分析所需要的结构体,类,类的外部接口,类的成员变量;
二、报名参加比赛的具体分析;
三、第一轮淘汰赛的分析;
四、第二轮淘汰赛的分析;
五、决赛的分析。
如果你学习STL 有一段时间了,用这个综合题可以很好地检测你对STL的掌握程度。 点击这里,下载程序的源代码和详细分析过程
对STL的讨论,暂时告一段落了。
暂时不会发表STL相关的随笔,下去之后,本人还会继续消化STL相关的一些知识。(这道综合题不是我解答的。我也在努力消化这道综合题。菜鸟到此一游!)