宁波市第24届中小学生计算机程序设计竞赛
一、选择题(1.5每题)
1、以下不属于程序的基本结构的是:
顺序结构 选择分支结构
循环结构 树形结构
2、由2个a,2个b和2个c构成的所有字符串中,包含子串“abc”的共有( )个。
20 8 16 24
3、假设A=TRUE,B=TRUE ,C=TRUE, D=FALSE,逻辑运算表达式A and B or C and D 的值是: false true 0 1
4、下列数种最大的数是( )
(11111)2 (F)16 (30)10 (35)8
5、布尔型(boolean)和字符型(char)变量所占用的存储的空间大小关系是( )
布尔型大 字符型大 一样大编程小学生有必要学吗 因操作系统而异
6、用八位二进制能够表示的最大二进制数是:( )
99999999 11111111 255 265
7、有一个10行10列的对称矩阵,采用压缩存储方式来存储该矩阵的上三角元素(行优先次序),第1行第1列的存储地址为s,每个元素占用2个存储空间,则第8行第8列元素的首地址为:( )
s+100 s+98 s+72 s+70
8、已知一棵二叉树的前序遍历为JFDECBHAIG,中序遍历结果为DFEJAHBICG,则这棵二叉树的深度为: 6 5 4 3
9、已知一棵二叉树的叶子节点数为100,在有二个子女的结点数为:
101 100 99 不能确定
10、算术表达式(3a+1)÷5在程序设计中表达为
(3a+1)/5 (3*a+1)\5 (3*a+1)/5
11、将数组{ 1、2、4、3、5、6、7、8 }中的元素用插入排序的方法从大到小的顺序排列,需要比较的次数是:
7 27 28 64
12、算式(2009)16-(2008)10-(2007)8 的结果是:( )
(16170)8 (7234)10 (1C36)16 (1110000111000)2
13、计算机内部使用的数是:
二进制数 八进制数 十进制数 十六进制数
14、当n大于100万时,下列程序段哪个运行最快:
15、当原始待排序数据为从小到大排列时,运行时间比原来数据为乱序时快的算法是:
选择排序 归并排序 插入排序 快速排序
16、关于算法的下列叙述不准确的是:
A、算法的每一步必须没有歧义,不能有半点含糊
B、算法必须有输入
C、同一问题可能存有多种不同的算法
D、同一算法能够用多种不同的形式来描述
17、for语句中的循环变量,其类型必须是:
A、整型 B、实型 C、自定义类型 D 有序类型
18、下列各种奖项中,为计算机领域作出杰出贡献的科学家设立的奖项是:
A 沃尔夫奖 B 图灵奖 C 诺贝尔奖 D 菲尔兹奖
19、栈是一种后进先出的数据结构,他有压入(push)和弹出(pop)两种操作。二个元素AB通过入栈和出栈操作,能够有AB和BA两种可能。现在3个元素ABC依次进栈、出栈序列最终有几种可能( )
A 3 B 4 C 5 D 6
20、以下哪项不属于计算机程序设计竞赛( )
A NOIP B 电子作品制作
C ACM大学生程序设计赛 D 宁波市中小学生程序设计竞赛
二、问题求解(每小题5分)
1、已知a,b,c,d,e,f,g七个人中,a会讲英语和汉语,c会讲英语、意大利语和俄语,d会讲汉语和日语, e会讲意大利语和德语, f会讲俄语、日语和法语, g会讲德语和法语。能否将他们的座位安排在圆桌旁,使得每个人都能与他的身边人交谈,如果能够,请以“a b”开头写出你的安排方案: a d f g e c b
2、某班有30个同学报名参加100米、400米、800米三项比赛,已知有15人报了100米,8人报了400米,6人报了800米,其中有3人这三个项目都报了,问该班最少有 人一项都没有报过?最多有 人一项都没有报过?
三、阅读程序写结果(每题8分,共32分)
program nbxx09_1;
var a,b,s:longint;
begin
readln(a);
s:=a;
b:=0;
while a<>b do begin
b:=b*10+a mod 10;
a:=a div 10;
end;
s:=s+b;
writeln(s);
end;
输入:123456789 输出:
program nbxx09_2;
var u:array[0..3] of integer;
a,b,c,x,y,z:integer;
begin
read(u[0],u[1],u[2],u[3]);
a:=u[0]+ u[1]+ u[2]+ u[3]-5;
b:=u[0]*(u[1]-u[2] div u[3]+8);
c:= u[0]*u[1] div u[2]* u[3];
x:=(a+b+2)*3-u[(c+3)mod 4];
y:=(c*100-13) div a div (u[b mod 3] *5);
z:=(a+b+c-x-y)*2;
if((x+y) mod 2=0) then z:=(a+b+c+x+y) div 2;
writeln(x+y-z);
end;
输入:2 5 7 4 输出
program nbxx09_3;
var a,work:array[1..100] of integer;
i,j,x,d,max:integer;
begin
readln(max);
for i:=1 to max do begin
read(a[i]); work[i]:=a[i];
end;
d:=max div 2;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论