第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017年10月14日14:30~16:30
选手注意:
●试题纸共有7 页,答题纸共有2 页,总分值100 分。请在答题纸上作答,写在试题纸上的一律无效。
●不得使用任何电子设备〔如计算器、手机、电子词典等〕或查阅任何书籍资料。
一、单项选择题〔共20 题,每题1.5 分,共计30 分;每题有且仅有一个正确选项〕
1. 在8 位二进制补码中,10101011 表示的数是十进制下的〔〕。
A. 43
B. -85
C. -43
D. -84
2. 计算机存储数据的根本单位是〔〕。
A. bit
B. Byte
C. GB
D. KB
3.以下协议中与电子无关的是〔〕。
A. POP3
B. SMTP
字符串常量123在内存中的字节数是
C. WTO
D. IMAP
4. 分辨率为800x600、16 位的位图,存储图像信息所需的空间为〔〕。
A. 937.5KB
B. 4218.75KB
C. 4320KB
D. 2880KB
5. 计算机应用的最早领域是〔〕。
A. 数值计算
B. 人工智能
C. 机器人
D. 过程控制
6.以下不属于面向对象程序设计语言的是〔〕。
A. C
B. C++
C. Java
D. C#
7. NOI 的中文意思是〔〕。
A. 中国信息学联赛
B. 全国青少年信息学奥林匹克竞赛
C. 中国青少年信息学奥林匹克竞赛
D. 中国计算机协会
8. 2017 年10 月1 日是星期日,1999 年10 月1 日是〔〕。
A. 星期三
B. 星期日
C. 星期五
D. 星期二
9.甲、乙、丙三位同学选修课程,从4 门课程中,甲选修2 门,乙、丙各选修3门,那么不同的选修方案共有〔〕种。
A. 36
B. 48
C. 96
D. 192
10. 设G 是有n 个结点、m 条边〔n ≤ m〕的连通图,必须删去G 的〔〕条边,才能使得G 变成一棵树。
A. m – n + 1
B. m - n
C. m + n + 1
D. n – m + 1
11. 对于给定的序列{ak},我们把(i, j) 称为逆序对当且仅当i < j 且ai > aj。那么序列1, 7, 2, 3, 5, 4 的逆序对数为〔〕个。
A. 4
B. 5
C. 6
D. 7
12. 表达式a * (b + c) * d 的后缀形式是〔〕。
A. a b c d * + *
B. a b c + * d *
C. a * b c + * d
D. b + c * a * d
13.向一个栈顶指针为hs 的链式栈中插入一个指针s 指向的结点时,应执行〔〕。
A.hs->next = s;
B.s->next = hs; hs = s;
C.s->next = hs->next; hs->next = s;
D.s->next = hs; hs = hs->next;
14. 假设串S = “copyright〞,其子串的个数是〔〕。
A. 72
B. 45
C. 46
D. 36
15. 十进制小数13.375 对应的二进制数是〔〕。
A. 1101.011
B. 1011.011
C. 1101.101
D. 1010.01
16. 对于入栈顺序为a, b, c, d, e, f, g 的序列,以下〔〕不可能是合法的出栈序列。
A. a, b, c, d, e, f, g
B. a, d, c, b, e, g, f
C. a, d, b, c, g, f, e
D. g, f, e, d, c, b, a
17.设A 和B 是两个长为n 的有序数组,现在需要将A 和B 合并成一个排好序的数组,任何以元素比拟作为根本运算的归并算法在最坏情况下至少要做〔〕
次比拟。
A.n2
B. n log n
C. 2n
D. 2n - 1
18. 从〔〕年开场,NOIP 竞赛将不再支持Pascal 语言。
A. 2020
B. 2021
C. 2022
D. 2023
19. 一家四口人,至少两个人生日属于同一月份的概率是〔〕〔假定每个人生日属于每个月份的概率一样且不同人之间相互独立〕。
A. 1/12
B. 1/144
C. 41/96
D. 3/4
20. 以下和计算机领域密切相关的奖项是〔〕。
A. 奥斯卡奖
B. 图灵奖
C. 诺贝尔奖
D. 普利策奖
二、问题求解〔共2 题,每题5 分,共计10 分〕
1.一个人站在坐标〔0, 0〕处,面朝x 轴正方向。第一轮,他向前走1 单位距离,然后右转;第二轮,他向前走2 单位距离,然后右转;第三轮,他向前走3 单位距离,然后右转……他一直这么走下去。请问第2017 轮后,他的坐标是:〔_________,_________〕。〔请在答题纸上用逗号隔开两空答案〕
2.如以下图所示,共有13 个格子。对任何一个格子进展一次操作,会使得它自己以及与它上下左右相邻
的格子中的数字改变〔由1 变0,或由0 变1〕。现在要使得所有的格子中的数字都变为0,至少需要_________次操作。
三、阅读程序写结果〔共4 题,每题8 分,共计32 分〕
1.#include using namespace std;
int main() { int t[256]; string s; int i;
cin >> s;
for (i = 0; i < 256; i++) t[i] = 0;
for (i = 0; i < s.length(); i++) t[s[i]]++;
for (i = 0; i < s.length(); i++) if (t[s[i]] == 1) {

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。