2021-3-13考试总结
一、病人排队
得分:0分(订正后100分)
题目描述
病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:
老年人(年龄 >= 60岁)比非老年人优先看病。
老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。
非老年人按登记的先后顺序看病。
病人年龄
分析:
1、本题考查结构体和排序;
2、应先判断人的年纪,在判断来的先后顺序;
具体做法:
1、struct一个结构体,结构体定义一个数组a,包含病人ID(string类型)和病人年龄(int类型),int变量n表示总人数;
2、输入n,循环输入病人id和年龄;
3、(重要) 双重循环排序,第一重i循环从后往前(方便比较年龄),第二重j循环从头到i(方便调整顺序),年龄大于六十的按照年龄排序(年龄相等按照来的顺序排序),年龄小于六十按照来袭的顺序排序;
for(int i=n;i>=1;i--)
{
for(int j=1;j<i;j++)
{
if((a[j].age<a[j+1].age) && (a[j].age>=60 || a[j+1].age>=60))
swap(a[j],a[j+1]);
}
}
4、按照排好的顺序输出。
二、乒乓球
得分:0分(订正后100分)
题目描述
国际乒联现任主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是 其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。
华华通过以下方式进行分析,首先将比赛中每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。
比如现在有这么一份记录(其中w表示华华获得一分,L 表示华华对手获得一分):WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第