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

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

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

小学组上机试题(共72分)

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

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

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

(3)将最后写好的源文件,存入D:\TEST文件夹中。

如:D:\TEST

shulie.bas

fenshu.bas

sushu.bas

tuxing.bas

……….

……….

一、数列计算(题目名称: shulie.bas/shulie.c/shulie.cpp)(12分)【题目描述】有一组序列的数是:1、2、9、33、126、477,……,请同学们认真观察数值的规律。现要求:指定项数为任意的N项,计算:

1)第N项的数据;

2)输出前N项数据的和。

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

文件中只有一行,包含1个整数N(其中3<=N<=15)为这个序列的项数。【输出文件】文件名:shulie.out

文件中共有二行:

第一行为这个序列第N项的数据;

第二行为这个序列前N项的数据和。

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

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

6

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

477

648

又如:

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

10

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

98577

133893

二、分数段统计(题目名称:fdtj.bas/fdtj.c/fdtj.cpp)(12分)【题目描述】小红所在的班级进行了数学考试,老师请小红同学帮忙进行名次排序和各分数段的人数统计工作。现要求如下:将N名同学的考试成绩放在A数组中,

各分数段的人数存到B数组中:成绩为100的人数存到B(1)中,成绩为90

到99的人数存到B(2)中,成绩为80到89的人数存到B(3)中,成绩为70

到79的人数存到B(4)中,成绩为60到69的人数存到B(5)中,成绩为60

分以下的人数存到B(6)中。

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

文件中共有二行:

第一行:为小红所在班级的人数N(其中1<=N<=30);

第二行:为N个用1个空格隔开的数学分数(其中分数为整数)。

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

文件中共有若干行:

前N行:每行一个整数是从高到低排序的数学分数;

最后一行:是6个按要求,存放到数组B(1)--B(6)中各分数段的人数(各

数据之间以1个空格为间隔)。

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

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

10

93 85 77 68 59 100 43 94 75 82(数据之间空1格)

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

100

94

93

85

82

77

75

68

59

43

1 2 2 2 1 2(数据之间空1格)

三、求素数(题目名称:sushu.bas/sushu.c/sushu.cpp)(12分)【题目描述】在三位自然数中有这样一些特点的数:

(1)它们是素数;

(2)它们中满足:十位数字是偶数,个位数字为3,

如:223,283,383,443,463…….等。

求出在三位自然数的任意区间M ~N内所有满足上述条件的素数,

并统计个数。

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

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

(其中100<=M

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

文件中共有若干行:

前若干行每行一个数,为满足条件的素数;

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

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

200 400(两个数据之间空一格)

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

223

263

283

383

四、打印图形(题目名称: tuxing.bas/tuxing.c/tuxing.cpp) (12分)【题目描述】由键盘输入任意一个自然数N,输出如下图规律的图形。

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

文件中只有一个整数N,为图形上半部分的行数(其中2<=N<=9)

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

文件中为输出的图形。

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

【样例输入】 tuxing.in中有:

5

【样例输出】 tuxing.out中有下图所示的图形。

5 8

4 7

3 6

2 5

1 4

4 1

5 2

6 3

7 4

8 5

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

【题目描述】从键盘输入一个长度大于10的字符串,现要求:将字符串中的所有大小写字母都改写成该字母的下一个字母。如:最后一个小写字母z改写成字母a;

最后一个大写字母Z改写成A,其他字符依照原有顺序不变。

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

文件中只有一行,包含1个任意的字符串(其长度L>10)

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

文件中只有一行,即为满足条件的字符串。

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

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

ABCDZ123abcdefz

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

BCDEA123bcdefga

相关文档
最新文档