2013年海淀区信息学竞赛小学组试卷.docx
2013 年海淀区中小学生信息学奥林匹克竞赛 小学组竞赛试题(每题 100 分,共 700 分) 姓名 年级 学校 准考号 成绩 说明:(1)请同学们运行 QBASIC 语言环境(BC7.0 版本)或 C 语言环境; (2) 以各自题目的名称,例如:shulie.bas/或 shulie.c/或 shulie.cpp,将源文件存盘; (3) 建立文件读写,将最后写好的源文件,存入 D:TEST 文件夹中。 如:D:TEST feiyong.bas shulie.bas tuxing.bas pfang.bas . . 一、乘车费用(题目名称:feiyong.bas/ feiyong.c/ feiyong.cpp) (100 分) 【题目描述】 星期天上午小红乘出租车去本市的奶奶家。出租车计价方案为:3 公里以内(包括 3 公里)起步价是 13 元,超过 3 公里之后按 2.3 元/公里计价, 整个乘车途中另加 1 元钱的燃油费。已知:小红到奶奶家的路程为 N 公里, 请你计算一下小红到奶奶家的出租车费用是多少元? 【输入文件】 文件名:feiyong.in 文件中只有一行,包含 1 个整数 N(其中 1<=N<=30)表示路程, 单位:公里。 【输出文件】 文件名:feiyong.out 文件中只有一行,包含 1 个整数,表示乘车 N 公里后,出租车的费用(要求四舍五入保留整数),单位:元。 【要求】 输出数据从第一列开始。 【样例输入 1】 feiyong.in 的内容为: 2 【样例输出 1】 feiyong.out 的内容为: 14 【样例输入 2】 feiyong.in 的内容为: 15 【样例输出 2】 feiyong.out 的内容为: 42 二、数列计算(题目名称: shulie.bas/shulie.c/shulie.cpp) (100 分) 【题目描述】 有一个序列是:3,5,9,15,23,33,45,请同学们观察规律。现要求:指定项数为任意的 N 项,计算并输出前 N 项;同时计算并输出前 N 项的和。 【输入文件】 文件名:shulie.in 文件中只有一行,包含 1 个整数 N(其中 3N20)为这个序列的项数。 5【输出文件】 文件名:shulie.out 文件中共有 N+1 行: 前 N 行:每行一个整数为这个序列的前 N 项; 最后一行:只有一个整数为这个序列前 N 项的和。 【要求】 每一行的输出数据都从第一列开始输出。 【样例输入】 shulie.in 的内容为: 8 【样例输出】 shulie.out 的内容为: 3 5 9 15 23 33 45 59 192 三、打印图形(题目名称: tuxing.bas/tuxing.c/tuxing.cpp) (100 分) 【题目描述】 由键盘输入任意一个自然数 N,输出如下图规律的图形。 【输入文件】 文件名:tuxing.in 文件中只有一个整数 N,为图形上半部分的行数(其中 2<=N<=26) 【输出文件】 文件名:tuxing.out 文件中为输出的图形。 【要求】 图形的最左侧从第一列开始输出。 【样例输入】 tuxing.in 中有: 4 【样例输出】 tuxing.out 中有下图所示的图形 。 D D CD DC BCD DCB ABCDDCBA BCD DCB CD DC D D 四 、完全平方数(题目名称:pfang.bas/ pfang.c/ pfang.cpp) (100 分) 【题目描述】 在四位自然数中有这样一些特点的数: (1)它们是素数; (2)将这些素数加上 45 后得到一个新的数值; (3)请同学们在这些新的数值中挑选出:是完全平方数同时末尾数字是 4 的这 样特点的数。例如素数:1399,加上 45 后,得到新数 1444。而 1444 满足:它是完全平方数,同时末尾数字为 4。 现给出任意自然数 M N 的区间,请同学们计算并输出所有满足上述条件的数值,并统计个数。 【输入文件】 文件名:pfang.in 文件中只有一行,包含两个用空格隔开的任意自然数 M 和 N, (其中 1000M<N9999)。 【输出文件】 文件名:pfang.out 文件中共有若干行: 前若干行:每行一个数,为满足上述条件的数值; 最后一行:只有一个数,为满足上述条件的数值的个数。 【要求】 每一行的数据都从第一列开始输出。 【输入样例】 pfang.in 的内容为: 1000 4000(两个数据之间空一格) 【输出样例】 pfang.out 的内容为: 1444 2704 3364 3 五、踢毽子(题目名称:jianzi.bas/ jianzi.c/ jianzi.cpp) (100 分) 【题目描述】 某小学五年级组的学生举办踢毽子比赛,每班选出 4 名同学参加。比赛的规则如下:根据每班 4 名同学踢毽子的个数总和的多少决出各班的排名,获得总和最高的为冠军队。现请你计算: (1)每班 4 名同学踢毽子的个数总和; (2)找出冠军队所在的班级; (3)所有参赛同学平均踢毽子的个数; (4)统计参赛同学中踢毽子的个数不小于平均踢毽子的个数的人数。 【输入文件】 文件名:jianzi.in 文件中共有 2*N+1 行: 第一行:为班级的个数 N(其中 2<=N<=10); 之后的 2*N 行:每两行为一个班级的信息(包括:班级的名称及 4 名同学踢毽子的个数。 【输出文件】 文件名:jianzi.out 文件中共有 N+3 行: 前 N 行:每行一个数值为各个班级 4 名同学踢毽子的个数总和; 第 N+1 行:只有一个名称为冠军队所在的班级; 第 N+2 行:只有一个数值为所有参赛同学平均踢毽子的个数,(要求:四舍 五入保留整数); 第 N+3 行:只有一个数值为统计踢毽子的个数不小于平均踢毽子的个数的人数。 【要求】 每行的输出数据从第一列开始输出。 【样例输入】 jianzi.in 的内容为: 3 1ban 30 20 25 13 (数值之间空一格) 2ban 26 17 34 30 3ban 25 19 30 16 【样例输出】 jianzi.out 的内容为: 88 107 90 2ban 24 7 六、密码翻译(题目名称:mima.bas/mima.c/mima.cpp)(100 分)【题目描述】话说猴王的徒弟小猴在他的辅导下修炼成仙,然而小猴仍在继续努力修炼中,现在的水平已超过猴王(这似乎不符合常理)。但小猴绝不是白眼狼,不会凭着自己高强的法力与猴王斗争,反而满怀报恩的思想,他一直等待着机会的降临终于一天,一位强大的妖魔趁小猴外出的时候,夺走了猴王(一是因为他法力还不够,二是因为他已经衰老),将猴王关进了妖洞,小猴回来得知后决定去营救师父。来到师父所在的妖洞外,发现妖洞安装了带有数字密码盘电子门。小猴略显神通,用魔法得知了此门的密码,是一个由字母组成的字符串, 可是密码盘上只能输入数字啊,后经小猴再次魔法得知,妖魔有一套转换规则, 将这个字符串中的大写字母提取出来,按照密码字典中字母和数字的对照表, 将这些大写字母对应密码字典中的数字求和,将求和的结果作为密码。妖魔这套密码转换不算复杂吧?请你编写一个程序帮助小猴将他得到的字母串转换成能够打开妖洞的密码吧!【输入文件】 文件名 mima.in第一行:只有一个正整数 N,表示密码字符串中可能出现的不同大写字母的个数,其中(1<=N<=26);之后的 2*N 行:表示密码字典。每两行代表一个大写字母的信息:其中第一行为一个大写字母,第二行为这个大写字母与之对应的正整数(不大于1000);最后一行:是密码(一个只含有字母的字符串,其长度不超过 30)。【输出文件】 文件名 mima.out文件中只含有一个自然数表示开门的密码(小于 30000)。【样例输入】 mima.in 的内容为:3 A 20 C 10 E 111 abAcEmnCAA【样例输出】 mima.out 的内容为181七、挑选队员(题目名称:duiyuan.bas/ duiyuan.c/ duiyuan.cpp) (100 分) 【题目描述】 杨老师所教班级的 M 名学生都非常优秀,学习成绩差别不大,现在要选出不少于 N 名学生参加一项夏令营活动,但以什么标准挑选让杨老师犯了难。为了体现公平,杨老师进行了一次综合测评,他希望找到的这些同学的测评成绩必须是相同的,而且越高越好,对同一测评分数的学生要么都选上,要么都不被选。假如得到的测评成绩一定能满足杨老师的要求,请你编写程序帮助杨老师计算按照上述规则能够挑选出多少名学生。 【输入文件】 文件名:duiyuan.in 文件中共有 M+2 行: 第一行:只有一个正整数 M,表示参与测评的学生人数(其中 2<=M<=100); 接下来的 M 行:每行一个正整数,表示 M 名学生的测评成绩(不超过 100); 最后一行:包含一个正整数 N,表示杨老师希望挑选的最少人数。 【输出文件】 文件名:duiyuan.out 包含一个正整数,表示杨老师实际挑选出来的队员人数。 【样例输入】 duiyuan.in 的内容为: 8 98 94 94 96 91 92 91 91 2 【样例输出】 duiyuan.out 的内容为: 2