《NOIP2016信息学奥赛普与组初赛C试题与答案解析较完美版(共9页).doc》由会员分享,可在线阅读,更多相关《NOIP2016信息学奥赛普与组初赛C试题与答案解析较完美版(共9页).doc(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上范文范例 指导参考NOIP2016第二十二届全国青少年信息学奥林匹克联赛初赛普及组 C+语言试题竞赛时间: 2016 年 10 月 22 日 14:30 16:30一、单项选择题(共 20 题,每题 1.5 分,共计 30 分;每题有且仅有一个正确选项)1以下不是微软公司出品的软件是 ( ) 。A Powerpoint B Word C.Excel D. Acrobat Reader2如果 256 种颜色用二进制编码来表示,至少需要 ( ) 位。A 6 B 7 C 8 D 93以下不属于无线通信技术的是 ( ) 。A 蓝牙B WiFi C GPRS D 以太网4以下不
2、是 CPU生产厂商的是 ( ) 。A.Intel B.AMD C.Microsoft D.IBM5以下不是存储设备的是 ( ) 。A 光盘 B 磁盘 C 固态硬盘 D 鼠标6如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、 字母键A、字母键S和字母键D的顺序循环按键,即CapsLock、A、 S、D、CapsLock、A、S、D、 ,屏幕上输出的第 81 个字符是字母 ( ) 。A A B S C D D a7二进制数 和 的和是 ( ) 。A. B. C. D.8与二进制小数 0.1 相等的八进制数是 ( ) 。A 0.8 B 0.4 C 0.2 D 0.19以下
3、是 32 位机器和 64 位机器的区别的是 ( ) 。A显示器不同B 硬盘大小不同C寻址空间不同D 输入法不同10以下关于字符串的判定语句中正确的是 ( )A字符串是一种特殊的线性表 B 串的长度必须大于零C字符串不可以用数组来表示 D 空格字符组成的串就是空串11一棵二叉树如右图所示,若采用顺序存储结构,即用一 维数组元素存储该二叉树中的结点(根结点的下标为 1,若某结点的下标为 i ,则其左孩子位于下标2i处、右孩子位于下标(2i+1) 处),则图中所有结点的最大下标为 ( ) 。A.6 B 10 C 12 D 1512若有如下程序段,其中 s、a、b、c 均己定义为整型变量,且 a、c
4、均己赋值( c 大于 0)。s=a;for (b=1;b=c;b+)s=s+1;则与上述程序段修改s 值的功能等价的赋值语句是 ( ) 。A. s=a+b; B. s=a+c; C. s=s+c; D. s=b+c;13有以下程序:#includeusing namespace std;int main() int k=4,n=0;while(nk) n+;if (n%3!=0)学习资料整理专心-专注-专业范文范例 指导参考conntinue;k-;)coutk , nendl;return O;)程序运行后的输出结果是 ( ) 。A 2,2 B 2,3 C 3,2 D 3,314. 给 定
5、含 有 n 个不 同的 数 的 数组 L=。如 果 L 中 存 在 xi(1in) 使 得x1x2.xi-1xi+1.xn ,则称 L 是单峰的,并称 xi 是 L 的“峰顶” 。现在己知 L 是单峰的,请把 a-c 三行代码补全到算法中使得算法正确找到 L 的峰顶。正确的填空顺序是 ( ) 。A.c,a,b B. c,b,a C.a,b,c D.b,a,c15设简单无向图 G有 16 条边且每个顶点的度数都是 2,则图 G有( ) 个顶点。A 10 B 12 C 8 D 1616有 7 个一模一样的苹果,放到 3 个一样的盘子中,一共有 ( ) 种放法。A 7 B 8 C 21 D 3717
6、下图表示一个果园灌溉系统,有 A、B、C、D 四个阀门,每个阀门可以打开或关上,所有管道粗细相同,以下设置阀门的方法中,可以让果树浇上水的是 ( ) 。AB 打开,其他都关上 B AB都打开, CD都关上CA 打开,其他都关上 D D打开,其他都关上18Lucia 和她的朋友以及朋友的朋友都在某社交网站上注册了账号。下图是他们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代表不是朋友。这个社交网站的规则是:如果某人 A向他(她)的朋友 B 分享了某张照片,那么 B就可以对该照片进行评论;如果 B 评论了该照片,那么他(她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对
7、该照片进行评论(除非 A也向他(她)分享了该照片) 。现在 Lucia 已经上传了一张照片,但是她不想让 Jacob 看见这张照片,那么她可以向以下朋友( ) 分享该照片。学习资料整理范文范例 指导参考A.Dana, Michael, Eve B.Dana, Eve, MonicaC.Michael, Eve, Jacob D.Micheal, Peter, Monica19周末小明和爸爸妈妈三个人一起想动手做三道菜。小明负责洗菜、爸爸负责切菜、妈妈负责炒菜。假设做每道菜的顺序都是:先洗菜 10 分钟,然后切菜 10 分钟,最后炒菜 10 分钟。那么做一道菜需要 30 分钟。注意:两道不同的菜
8、的相同步骤不可以同时进行。例如第一道菜和第二道的菜不能同时洗,也不能同时切。那么做完三道菜的最短时间需要 ( ) 分钟。A 90 B 60 C 50 D 4020参加 NOI比赛,以下不能带入考场的是 ( ) 。A钢笔 B 适量的衣服 C U盘 D 铅笔二、问题求解(共 2 题,每题 5 分,共计 10 分;第一题全部答对得 5 分,没有部分分;第二题第一空 2分,第二空 3 分)1从一个 4 4 的棋盘(不可旋转)中选取不在同一行也不在同一列上的两个方格,共有 _种方法。2约定二叉树的根节点高度为 1。一棵结点数为 2016 的二叉树最少有 _ 个叶子结点;一棵结点数为 2016 的二叉树最
9、小的高度值是 _。三、阅读程序写结果(共 4 题,每题 8 分,共计 32 分)15. #include using namespace std;int main()int max, min, sum, count=0;int tmp;cintmp;if (tmp=0) return 0;max=min=sum=tmp;count+;while (tmp!=0)cintmp;if (tmp!=0)sum+=tmp;count+;if (tmpmax) max=tmp;if (tmpmin) min=tmp;coutmax,min,sum/countendl;return 0;学习资料整理范文范
10、例 指导参考输入: 1 2 3 4 5 6 0 7 输出:16. #include using namespace std;int main()int i=100,x=0,y=0;while (i0)i-;x=i%8;if (x=1) y+;coutyendl;return 0;输出:17. #include using namespace std;int main()int a6=1,2,3,4,5,6;int pi=0;int pj=5;int t,i;while (pipj)t=api;api=apj;apj=t;pi+;pj-;for (i=0;i6;i+)coutai,;couten
11、dl;return 0;输出:18. #include using namespace std;int main()int i,length1, length2;string s1,s2;s1=I have a dream.;学习资料整理范文范例 指导参考s2=I Have A Dream.;length1=s1.size();length2=s2.size();for (i=0;i=a&s1i=z)s1i-=a-A;for (i=0;i=a&s2i=z)s2i-=a-A;if (s1=s2) cout=s2) cout endl;else coutendl;return 0;输出: _四、完
12、善程序( 共 2 题,每题 14 分,共计 28 分)19. (读入整数)请完善下面的程序,使得程序能够读入两个 int 范围内的整数,并将这两个整数分别输出,每行一个。 (第一、五空 2.5 分,其余 3 分)输入的整数之间和前后只会出现空格或者回车。 输入数据保证合法。例如:输入: 123 -789输出: 123-789#include using namespace std;int readint()int num = 0; / 存储读取到的整数int negative = 0; / 负数标识char c; / 存储当前读取到的字符c = cin.get();while (c 9) &
13、c != -)c = (1) ;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();coutaendlbendl;return 0;20. ( 郊游活动 ) 有 n 名同学参加学校组织的郊游活动,已知学校给这n 名同学的郊游总经费为 A 元,与此同时第 i 位同学自己携带了 Mi 元。为了方便郊游,活动地点
14、提供 B( n) 辆自行车供人租用,租用第 j辆自行车的价格为 Cj 元,每位同学可以使用自己携带的钱或者学校的郊游经费,为了方便账务管理,每位同学只能为自己租用自行车,且不会借钱给他人,他们想知道最多有多少位同学能够租用到自行车。( 第四、五空 2.5 分,其余 3 分)本题采用二分法。对于区间l, r , 我们取中间点 mid 并判断租用到自行车的人数能否达到 mid 。判断的过程是利用贪心算法实现的。#include using namespace std;#define MAXN int n, B, A, MMAXN, CMAXN, l, r, ans, mid;bool check(
15、int nn)int count = 0, i, j;i = (1) ;j = 1;while (i = n)if ( (2) )count += Cj - Mi;i+;j+;return (3) ;void sort(int a, int l, int r)int i = l, j = r, x = a(l + r) / 2, y;while (i = j)while (ai x) j-;if (i = j)y = ai; ai = aj; aj = y;i+; j-;if (i r) sort(a, i, r);if (l 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 = r)mid = (l + r) / 2;if ( (4) )ans = mid;l = mid + 1;else r = (5) ;cout ans = 0&c=48&c=57(4) num=num*10+c-0 或 num=num*10+c-48(5) num=-num 或 return-num2.(1) n-nn+1(2) MiCj 或 Mi=Cj(3) count=A(4) check(mid)(5) mid-1学习资料整理谢谢.