全国青少年信息学奥林匹克联赛初赛模拟考试(一)

( 普及组 C++ 语言 两小时完成 )

:一、单项选择题(共 15 题,每题 2 分,共计 30 分。每题有且仅有一个正确选项。)

Q1:姓名

A1

Q2:1、世界上公认的第一台电子计算机诞生在(  )

A、中国
B、美国
C、英国
D、日本

Q3:2、将(2, 6, 10, 17)分别存储到某个地址区间为 0~10 的哈希表中,如果哈希函数 h(x) = ( ),将不会产生冲突,其中 a mod b 表示 a 除以 b 的余数。

A、x mod 11
B、x2 mod 11
C、2x mod 11
D、 ⌊√ ⌋ mod 11,其中⌊√ ⌋表示√ 下取整

Q4:3、下列二叉树,先序遍历[图片]

A、DYBEAFCZX
B、YDEBFZXCA
C、ABDYECFXZ
D、ABCDEFXYZ

Q5:4、一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为(  )

A、219
B、229
C、230
D、231

Q6:5、假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为

A、log2n
B、n2
C、O(n1..5)
D、n(n-1)/2

Q7:6、计算机技术应用广泛,以下属于科学计算方面的是(  )

A、图像信息处理
B、视频信息处理
C、火箭轨道计算
D、信息检索

Q8:7、冯诺依曼(Von Neumann)在总结研制ENIAC计算机时,提出两个重要的改进是(  )

A.引入CPU和内存储器的概念
B、采用机器语言和十六进制
C.采用二进制和存储程序控制的概念
D、采用ASCII编码系统

Q9:8、如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是 ()

A、e3,e1,e4,e2
B、e2,e4,e3,e1
C、e3,e4,e1,e2
D、任意顺序

Q10:9、在标准ASCII码表中,英文字母a和A的码值之差的十进制值是(  )

A、20
B、32
C、-20
D、-32

Q11:10、标准ASCII码字符集有128个不同的字符代码,它所使用的二进制位数是(  )

A、6
B、7
C、8
D、16

Q12:11、十进制数39转换成无符号二进制整数是(  )

A、100011
B、100101
C、100111
D、100011

Q13:12、微机中,西文字符所采用的编码是(  )

A、EBCDIC码
B、ASCII码
C、国标码
D、BCD码

Q14:13、下面叙述正确的是

A、算法的执行效率与数据的存储结构无关
B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止
D、以上三种描述都不对

Q15:14、某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是(  )

A、10
B、8
C、6
D、4

Q16:15、计算机的存储器中,组成一个字节(Byte)的二进制位(bit)个数是(  )

A、4
B、8
C、16
D、32

:二、阅读程序(判断题正确的填√,错误的填×;除特殊说明外,判断题1.5分,选择题3分,共计40分)

:[图片]

:判断题

Q17:输入浮点数,程序能够得出正确结果

Q18:若将第5行的while( r ) 改为 while ( r != 0 ) 结果不会改变

Q19:若将第15行的函数调用gcd(a,b)改为gcd(b,a)效果相同()

Q20:若b的输入为0,则程序将会异常结束()

Q21:5、入数据 10 5,那么输出的结果为()

A.50
B.1
C.15
D.5

Q22:6、若输入数据 10 -3,那么输出结果为()

A.-1
B.1
C.-2
D.2

:[图片]

Q23:1、以上程序输出的是一个*号等腰三角形()

A、正确
B、错误

Q24:2、若将第9行的j=2*i-1改为 j 2*i 效果相同()

A、正确
B、错误

Q25:3、若将第7,8行代码注释掉,那么会得到一个直角三角形()

A、正确
B、错误

Q26:4、若n的输入过大,图形可能无法得到三角形效果()

A、正确
B、错误

Q27:5、若n=20,那么最长的那行将会有()个星号。

A.40
B.41
C.39
D.42

Q28:6、若第9行的j=2*i-1改为j=i,输入n=10,那么图形总共有()个星号。

A.10
B.11
C.100
D.55

:3、[图片]

Q29:1、如果sum没有初始化,那么结果不确定()

A、正确
B、错误

Q30:2、若将第7行 i=n改成in,结果没有区别()

A、正确
B、错误

Q31:3、若n=10,那么结果为()。

A.18
B.10
C.9
D.55

Q32:4、若n为质数,则结果为()。

A.n/2
B.n/2+1
C.n+1
D.(n-1)/2

Q33:5、如果i从2开始,i小于n那么,n = 21时结果为多少()。

A.32
B.10
C.31
D.21

Q34:6、如果有m个数要求这个sum,那么请问时间复杂度是多少()

A.O(n)
B.O(n^2)
C.O(m*n)
D.O(m^2)

:三、完善程序(每小题3分,总共30分)

:#include iostreamusing namespace std;int a[16][16];int main(){ int n; cin n; int p = 0,q = n-1; int num = 1; while( p q ) { for(int i = p;i q;i++) { __①__; } for(int i = p;i q;i++) { a[i][q] = num++; } for(int i = q; i p; i--) { __②__; } for(int i = q; i p; i--) { a[i][p] = num++; } __③__ __④__; } if( __⑤__ ) { a[n/2][n/2] = num++; } for( int i = 0; i n; i++) { for( int j = 0; j n; j++) { cout a[i][j] ; } cout endl; } return 0;}

:1、给你一个整数n,按要求输出n∗n的回型矩阵例如:输入:4输出:12 3 412 13 14 511 16 15 610 9 8 7

Q35:1)①处应填()

A.a[p][i] = num++
B. a[q][i] = num++
C. a[i][p] = num++
D. a[i][q] = num++

:2) ②处应填()

Q36:A.a[p][i] = num++

B. a[q][i] = num++
C. a[i][p] = num++
D. a[i][q] = num++

Q37:3) ③处应填()

A.p++
B. q++
C.p-- 
D.q—

Q38:4) ④处应填()

A.p++
B. q++
C.p--
D.q--

Q39:5) ⑤处应填()

A.n/2
B. n>num
C. n%2
D.(n-1)%2

:2、在大规模数据处理中,经常会遇到的一类问题:在海量数据中找出出现频率最好的前k个数,或者从海量数据中找出最大的前k个数,这类问题通常被称为top K问题。例如,在搜索引擎中,统计搜索最热门的10个查询词;在歌曲库中统计下载最高的前10首歌等。下面的代码是经典的堆排序过程。请补充完整整个程序。

:#include iostream#include algorithmusing namespace std;void heap_adjust(int *arr,int i,int size){ int lchild = 2*i; int rchild = 2*i+1; int max = i; if( i = size/2 ) { if( ① ) { max = lchild; } if( ② ) { max = rchild; } if( ③ ) { swap(arr[i],arr[max]); ④ ; } }}void build_heap(int *arr,int size){ for( int i = size/2;i =1; i--) { heap_adjust(arr,i,size); }}void heap_sort(int *arr,int size){ int i; build_heap(arr,size); for( i = size; i =1; i--) { swap(arr[1],arr[i]); ⑤ ; }}void print_array(int *a,int size){ for(int i = 1; i = size; i++) { cout a[i] ; } cout endl;}int main(){ int n; cin n; int a[n+1]; for( int i = 1; i = n; i++) { cin a[i]; } print_array(a,n); heap_sort(a,n); print_array(a,n); return 0;}

Q40:1)①处应填()

A.lchild > size && arr[lchild] > arr[max]
B. lchild <= size && arr[lchild] > arr[max]
C. rchild > size && arr[rchild] > arr[max]
D. rchild <= size && arr[rchild] > arr[max]

Q41:2) ②处应填()

A.lchild > size && arr[lchild] > arr[max]
B. lchild <= size && arr[lchild] > arr[max]
C. rchild > size && arr[rchild] > arr[max]
D. rchild <= size && arr[rchild] > arr[max]

Q42:3) ③处应填()

A.max
B. max != i
C.max%2
D.max <= size

Q43:4) ④处应填()

A.heap_adjust(arr,i,size)
B. heap_adjust(arr,max,size)
C. heap_adjust(arr,max-1,size)
D. heap_adjust(arr,max,size/2)

Q44:5) ⑤处应填()

A.heap_adjust(arr,1,i)
B. heap_adjust(arr,1,i+1)
C. heap_adjust(arr,1,i-1)
D. heap_adjust(arr,1,size)

全国青少年信息学奥林匹克联赛初赛模拟考试(一)

55题  |  16次引用

相关模板

换一换