第二届分区联赛普及组复赛
1996年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题
(初中组 竞赛用时:3小时)
1.编制一个乘法运算的程序(20分)
从键盘读入个100以内的正整数,进行乘法计算并输出。
例如,输入格式:89 13
输出格式:
89
× 13
--------
267
89
-------
1157
又如:
输入格式: 16 8
输出格式:
16
× 8
------
128
2.(20分)输入三个自然数,n,i,j(1<=i<=n,1<=j<=n).n表示有一个n行n列的棋盘格子,(i,j)表示棋盘中格子的位置
如:n=4,i=2,j=3表示了棋盘中的第二行第三列的格子,如下图:
(2,3)
(2,3)表示该格为第2行第3列
要求编制一个程序,根据输入的n,i,j的值,输出与格子(i,j)在同一行、同一列、同一对角线上的所有格子位
置,例如:当n=4,i=2,j=3时,输出的结果是:
(2,1)(2,2)(2,3)(2,4) {同一行格子的位置}
(1,3)(2,3)(3,3)(4,3) {同一列格子的位置}
(1,2)(2,3)(3,4) {左上到右下对角线上的格子位置}
(4,1)(3,2)(2,3)(1,4) {左下到右上对角线上的格子位置}
3.字符串编辑(30分)
从键盘输入一个字符串(长度<=40个字符),并以字符'.'结束.
例如:'This is a book.',现对该字符串进行编辑,编辑功能有:
D:删除一个字符,命令的方式为:
D a 其中a为被删除的字符
例如:D s 表示删除字符's',若字符串中有多个's',则删除第一次出现的,如上例中删除的结果为:
'Thi is a book.'
I:插入一个字符,命令的格式为:
I a1 a2 其中a1表示插入到指定字符前面,a2表示将要插入的字符
例如: I s d 表示在指定字符's'的前面插入字符'd',若原串中有多个's',则插入在最后一个字符的前面,
如上例中,原串:'This is a book.'
插入后:'This ids a book.'
R:替换一个字符,命令格式为:
R a1 a2 其中a1为被替换的字符,a2为替换的字符,若在原串中有多个a1,则应全部替换
例如:原串:'This is a book.'
输入命令: R o e
替换后:' This is a beek.'
在编辑过程中,若出现被指定的字符不存在时,则给出提示信息
4.比赛安排(30分)
设有2^n(n<=6)个球队进行单循环比赛,计划在2^n-1天内完成,每个队每天进行一场比赛.设计一个比赛的安排,
使在2^n-1天内每个队都与不同的对手比赛.例如n=2时的比赛安排为:
队 1 2 3 4
比赛 1-2 3-4 第一天
1-3 2-4 第二天
1-4 2-3 第三天