2014年海淀区中小学生信息学奥林匹克竞赛(上机)

  • 格式:doc
  • 大小:79.00 KB
  • 文档页数:5

下载文档原格式

  / 5
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2014年海淀区中小学生信息学奥林匹克竞赛

小学组竞赛试题(每题100分,共700分)

姓名____________年级_________学校____________准考号________成绩__________

说明:(1)请同学们运行QBASIC语言环境(BC7.0版本)或C/C++语言环境;

(2)以各自题目要求的名称,例如:baoguo.bas/或baoguo.c/或baoguo.cpp,将源文件存盘;

(3)输入输出均采用文件读写,将最后写好的源文件,存入D:\TEST文件夹中。

如:D:\TEST

baoguo.bas

tuxing.bas

zfc.bas

szyouxi.bas

………

一、包裹托运(题目名称:baoguo.bas/ baoguo.c/ baoguo.cpp) (100分)

【题目描述】春节快到了,小红和爸爸一起来到邮局,打算给家住外地的爷爷、奶奶家里捎点年货。邮局的阿姨介绍,托运包裹的运费标准是:包裹重量不大于

15公斤时,每公斤6元;超过15公斤后,其超过部分每公斤9元;现已

知:包裹的重量为X公斤,请同学们和小红一起帮助邮局的阿姨计算一下,

包裹的运费Y应为多少元?

【输入文件】文件名:baoguo.in

文件中只有一行,包含一个数值X(其中1≤X≤100)表示包裹的重量,

单位:公斤。

【输出文件】文件名:baoguo.out

文件中只有一行,包含1个整数,表示包裹的运费(要求四舍五入保留整

数),单位:元。

【要求】输出数据从第一列开始。

【样例输入1】 baoguo.in的内容为:

11.6

【样例输出1】 baoguo.out的内容为:

70

【样例输入2】 baoguo.in的内容为:

18.8

【样例输出2】 baoguo.out的内容为:

124

二、字母图形(题目名称: tuxing.bas/tuxing.c/tuxing.cpp) (100分)

【题目描述】由键盘输入任意的一个由大写字母组成的字符串(不需检验是否为大写字母),要求以字符串的长度L作为图形的行数,并将输入的这个字符串作为

图形的第一行进行打印输出。从第二行开始,图形的特点是:将第一行的

最后两个字符整体移到最前就是第二行,再把第二行的最后两个字符整体

移到最前就是第三行,……依次进行,完成L行字母的输出。例如:输入

字符串“ABCDE”,按照上述移动的规则,最后输出的图形如下列样例输出

图形所示。

【输入文件】文件名:tuxing.in

文件中只有一个由大写字母组成的字符串,字符串的长度为L

(其中3≤L≤26)。

【输出文件】文件名:tuxing.out

文件中为输出的图形。

【要求】图形的最左侧从第一列开始输出。

【样例输入】 tuxing.in的内容为:

ABCDE

【样例输出】 tuxing.out的内容为:

ABCDE

DEABC

BCDEA

EABCD

CDEAB

三、字符串(题目名称:zfc.bas/zfc.c/zfc.cpp) (100分)

【题目描述】从键盘输入一个由大、小写字母和数字组成的任意一个字符串(不需判断),其长度不小于8,不大于30。现要求将字符串中的所有数字字符删除,其他

字符依照原有顺序保持不变,并统计删除的数字的个数。

【输入文件]】文件名:zfc.in

文件中只有一行,包含只由大、小写字母和数字组成的一个字符串(其长

度8≤L≤30)。

【输出文件]】文件名:zfc.out

文件中共有两行:

第一行:为删除数字字符后的字符串;

第二行:为统计删除的数字的个数。

【要求】每行的输出数据从第一列输出

【样例输入】 zfc.in的内容为:

ABCD123efg678

【样例输出】 zfc.out的内容为:

ABCDefg

6

四、数字游戏(题目名称: szyouxi.bas/ szyouxi.c/szyouxi.cpp) (100分)

【题目描述】小明和小华两位同学是非常要好的小伙伴。两人经常在一起做作业、玩游戏。

周末的一天,两人做完作业后,商量一起玩一个数字游戏。游戏的规则是:

在任意的一段四位自然数区间内,找出符合以下特点的四位自然数ABCD:(1)这个四位自然数被6整除;

(2)千位数字与百位数字构成的两位数AB是一个质数;

(3)十位数字与个位数字构成的两位数CD是一个完全平方数。

没有学过程序设计的小华同学,在(2000,3000)的范围中,找出的符合以上

特点的数字只有三个:2316,2916, 2964,显然他找到的数据不够全面,漏掉

了一些数字。而学过程序设计的小明同学用计算机编程的方法很快求出了所有

符合要求的答案。现给出任意自然数M ~N的区间,作为编程小能手的你,能

否很快求出所有满足上述条件的数值,并统计出它们的个数呢?

【输入文件】文件名为:szyouxi.in

文件中只有一行,包含用一个空格隔开的两个四位自然数M和N

(其中1000≤M

【输出文件】文件名为:szyouxi.out

文件中共有两行:

第一行:为所有满足上述条件的数值,数值之间用一个空格隔开;

最后一行:只有一个数,为满足上述条件的数值的个数。

【要求】每行数据都从第一列开始输出。

【样例输入】szyouxi..in的内容为:

2000 3000

【样例输出】szyouxi..out的内容为:

2304 2316 2364 2904 2916 2964

6

五、挑选队员(题目名称: duiyuan.bas / duiyuan.c/ duiyuan.cpp)(100分)

【题目描述】学校舞蹈小组举行形体课训练,王老师将队员的队形编排成了M行N列,现已知所有队员的身高,数值为整数,单位:厘米。根据舞蹈的要求:要

在所有队员中:

(1)挑选出每行身高最高的同学作为小组的组长协助老师进行训练;

(2)求出每行队员们的平均身高;

(3)最后要在所有队员中挑选出身高大于165厘米的队员进行领舞,并

将身高大于165厘米的队员按从高到低的顺序重新排队。

请同学们用计算机编程的方法来解决以上问题。

【输入文件】文件名为:duiyuan.in

文件中共有M+1行:

第一行有:用空格隔开的两个整数M、N,分别代表身高数据的行数和列数

(其中1≤M≤6,1≤N≤8);

后M行:每一行对应的是N列数据,表示所有学生的身高尺寸,数值为整

数,单位:厘米(其中:150厘米≤身高≤180厘米),数据之间

空1格;

【输出文件】文件名为:duiyuan.out

文件中共有2M+1行:

前M行:每行一个数据为在该行中身高最高的那位队员的高度;

后M行:每行一个数据为每行队员的平均身高(要求:四舍五入,保留整

数);

最后一行:为所有身高大于165厘米的队员的身高(按从高到低的顺序),

数据之间空1格。

【要求】每行的数据都从第一列开始输出

【样例输入】 duiyuan.in的内容为:

3 4

151 161 156 154

171 163 168 157

162 156 153 172