《NOIP2016初赛普及其组C++题目及其答案.doc》由会员分享,可在线阅读,更多相关《NOIP2016初赛普及其组C++题目及其答案.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、第二十二届全国青少年信息学奥林匹克联赛初赛普及组 C+语言试题竞赛时间:2016 年 10 月 22 日 14:3016:30选手注意:试题纸共有 9 页,答题纸共有 2 页,满分 100 分。请在答题纸上作答,写在 试题纸上的一律无效。 不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资 料。一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正 确选 项)1.以下不是微软公司出品的软件是( )。 A.PowerpointB.Word C.ExcelD.Acrobat Reader2.如果 256 种颜色用二进制编码来表示,至少需要()位。 A.6
2、B. 7C.8D. 93.以下不属于无线通信技术的是( )。 A.蓝牙B.WiFiC.GPRSD.以太网4.以下不是 CPU 生产厂商的是()。D.IBMA.IntelB.AMDC.Microsoft5.以下不是存储设备的是()。D.鼠标A.光盘B.磁盘C.固态硬盘6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照 CapsLock、 字母键 A、字母键 S 和字母键 D 的顺序循环按键,即 CapsLock、A、S、D、 CapsLock、A、S、D、,屏幕上输出的第 81 个字符是字母()。 A.AB. SC.DD.a7.二进制数 00101100 和 00010101 的和是
3、( )。A.00101000B. 01000001C.01000100D.001110008.与二进制小数 0.1 相等的八进制数是()。D.0.1A.0.8B. 0.4C.0.2CCF NOIP2016 初赛普及组 C+语言试题 第 1 页,共 9 页9.以下是 32 位机器和 64 位机器的区别的是()。 A.显示器不同B.硬盘大小不同 C.寻址空间不同D.输入法不同10. 以下关于字符串的判定语句中正确的是()。 A.字符串是一种特殊的线性表B.串的长度必须大于零 C.字符串不可以用数组来表示D.空格字符组成的串就是空串11. 一棵二叉树如右图所示,若采用顺序存储结构,即用一 维 数组元
4、素存储该二叉树中的结点(根结点的下标为 1, 若 某结点的下标为 i ,则其左孩子位于下标 2i 处、右孩 子 位于下标(2i+1)处),则图中所有结点的最大下标为 ( )。 A.6B.10C.12D.1512. 若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋 值 (c 大于 0)。 s = a; for (b = 1; b using namespace std;int main() int k = 4, n = 0; while (n 。如果 L 中存在 x(i1 xi+1 . xn , 则称 L 是单峰的,并称 xi 是 L 的CCF NOIP2016 初赛
5、普及组 C+语言试题 第 2 页,共 9 页“峰顶”。现在已知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法 正 确找到 L 的峰顶。 a. Search(k+1, n) b. Search(1, k-1) c. return LkSearch(1, n) 1. k Lk-1 and Lk Lk+1 3. then _ 4. else if Lk Lk-1 and Lk using namespace std; int main() int max, min, sum, count = 0; int tmp; cin tmp; if (tmp = 0) return 0; max
6、= min = sum = tmp; count+; while (tmp != 0) cin tmp; if (tmp != 0) sum += tmp; count+;if (tmp max) max = tmp; if (tmp using namespace std;int main() CCF NOIP2016 初赛普及组 C+语言试题 第 5 页,共 9 页int i = 100, x = 0, y = 0; while (i 0) i-; x = i % 8; if (x = 1) y+; cout using namespace std;int main() int a6 =
7、1, 2, 3, 4, 5, 6; int pi = 0; int pj = 5; int t , i; while (pi using namespace std;int main() int i, length1, length2; string s1, s2; s1 = “I have a dream.“;CCF NOIP2016 初赛普及组 C+语言试题 第 6 页,共 9 页s2 = “I Have A Dream.“; length1 = s1.size(); length2 = s2.size(); for (i = 0; i = a int readint() int num
8、= 0;/ 存储读取到的整数 int negative = 0;/ 负数标识 char c;/ 存储当前读取到的字符 c = cin.get(); while (c 9) CCF NOIP2016 初赛普及组 C+语言试题 第 7 页,共 9 页if (c = -) negative = 1; else (2); c = cin.get(); while (3) (4); c = cin.get(); if (negative = 1) (5) ; return num; int main() int a, b; a = readint(); b = readint(); cout using
9、 namespace std; #define MAXN 1000000int n, B, A, MMAXN, CMAXN, l, r, ans, mid; bool check(int nn) int count = 0, i, j; i =(1); j =1; while (i x) j-; if (i n B A; for (i = 1; i Mi; for (i = 1; i Ci; sort(M, 1, n); sort(C, 1, B); l = 0; r = n; while (l =0&c=0&c=48&c=48&c=57 (4)(4) num=num*10+c-0num=num*10+c-0 或或 num=num*10+c-48num=num*10+c-48 (5)(5) num=-numnum=-num 或或 return-numreturn-num 2.2. (1)(1) n-nn+1n-nn+1 (2)(2) MiCjMiCj 或或 Mi=CjMi=Cj (3)(3) count=Acount=A (4)(4) check(mid)check(mid)(5)(5) mid-1mid-1
限制150内