ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:78.64KB ,
资源ID:4940927      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4940927.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NOIP初赛普及组C++题目及答案.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NOIP初赛普及组C++题目及答案.docx

1、NOIP初赛普及组C+题目及答案NOIP2011第十七届信息学奥林匹克竞赛初赛( 普及组 C+语言 二小时完成 ) 全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效 一、 单项选择题 (共20题,每题1.5分,共计30分。每题有且仅有一个正确选项。)1在二进制下,1011001 + ( ) = 1100110。 A1011 B1101 C1010 D11112字符“0”的ASCII码为48,则字符“9”的ASCII码为( )。 A39 B57 C120 D视具体的计算机而定3一片容量为8G的SD卡能储存大约( )张大小为2MB的数码照片。 A1600 B2000 C4000 D 16000

2、4摩尔定律(Moores law)是由英特尔创始人之一戈登摩尔(Gordon Moor)提出来的。根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电驴的集成度大约每( )个月翻一番。 A1 B 6 C 18 D 365无向完全图是图中每对顶点之间都恰好有一条边的简单图。已知无向完全图G有7个顶点,则它共有( )条边。 A7 B21 C42 D49 6寄存器是( )的重要组成部分。 A硬盘 B高速缓存 C内存 D中央处理器(CPU)7如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是( )。 A10 B11 C12 D138体育课的铃声响了,同学们都陆续地奔向操场,

3、按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。 A快速排序 B插入排序 C冒泡排序 D归并排序9一个正整数在二进制下有100位,则它在十六进制下有( )位。 A7 B13 C25 D不能确定10有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是( )。 A正确的,将文件放入回收站以为着彻底删除、无法恢复 B不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复 C不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回 D不正确的,只要在硬盘上出现过的

4、文件,永远不可能被彻底删除11广度优先搜索时,需要用到的数据结构是( )。 A链表 B队列 C栈 D散列表12在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指( )。 A程序运行时理论上所占的内存空间 B程序运行时理论上所占的数组空间 C程序运行时理论上所占的硬盘空间 D程序源文件理论上所占的硬盘空间13在含有n个元素的双向链表中查询是否存在关键字为k的元素,最快情况下运行的时间复杂度是( )。 AO(1 ) BO( log n ) CO( n ) DO( n log n )14生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等

5、技术已广泛应用于政府、银行、安全防卫等领域。一下不属于生物特征识别技术及其应用的是( )。 A指静脉验证 B步态验证 CATM机密码验证 D声音验证15现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“呼”、“者”、“也”组成,它们出现的次数分别为700、600、300、200。那么,“也”字的编码长度是( )。 A1 B2 C3 D416关于汇编语言,下列说法错误的是( ) A是一种与具体硬件相关的程序设计语言 B在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试 C可以直接反问寄存器、内存单元、以及I/O端口 D随着高级语言的诞生,如今已

6、完全被淘汰,不再使用17( )是一种选优搜索法,按选优条件向前搜索,以达到目标。当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。: A回溯法 B枚举法 C动态规划 D贪心181956年( )手语肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。 A诺贝尔物理学奖 B约翰冯诺依曼奖 C图灵奖 D高德纳奖19对一个有向图而言,如果每个节点都存在到达其他任何节点的路径,那么就称它是强连通的。例如,有图就是一个强连通图。事实上,在删掉边( )后,它依然是强连通的。 A a Bb Cc Dd20从ENIAC到当前最先进的计算机,冯诺依曼体系结构始终占有重要地位。冯诺

7、依曼提醒结构的核心内容是( )。 A采用开关电路 B采用半导体器件 C采用存储程序和程序控制原理 D采用键盘输入二问题求解(共2题,每空5分,共计10分)1每份考卷都有一个8位二进制序列号。当且仅当一个序列号含有偶数个1时,它才是有效的。例如,0000000、01010011都是有效的序列号,而11111110不是。那么,有效的序列号共有 个。2定义字符串的基本操作为:删除一个字符插入一个字符和将一个字符修改成另外一个字符这三种操作。将字符串变成字符串的最少操作步数,称为字符串到字符串的编辑距离。字符串“ABCDEFG”到字符串“BADECG”的编辑距离为 。三阅读程序写结果(共4题,每题8分

8、,共计32分)1#includeusing namespace std;int main() int i,n,m,ans; cinnm; i=n; ans=0; while(i=m) ans+=i; i+; coutansendl; return 0;输入:10 20输出:_2#include#includeusing namespace std;int main() string map= 2223334445556667778889999; string tel; int i; cintel; for(i=0;i=0) & (teli=9) ) cout=A) & (teli=Z) cou

9、tmapteli-A; coutendl; return 0;输入:CCF-NOIP-2011 输出:_3#include#includeusing namespace std;const int SIZE = 100;int main() int n,i,sum,x,aSIZE; cinn; memset(a,0,sizeof(a); for(i=1;ix; ax+; i=0; sum=0; while(sum(n/2+1) i+; sum+=ai; coutiendl; return 0;输入:114 5 6 6 4 3 3 2 3 2 1输出: 4#includeusing namesp

10、ace std;int solve(int n,int m) int i,sum; if(m=1) return 1; sum=0; for(i=1;inm; coutsolve(n,m)endl; return 0;输入:7 4输出:_四完善程序 (前11空,每空2分,后2空,每空3分,共28分)1(子矩阵)给输入一个n1*m1的矩阵a,和n2*m2的矩阵b,问a中是否存在子矩阵和b相等。若存在,输出所有子矩阵左上角的坐标:若不存在输出“There isno answer”。#includeusing namespace std;const int SIZE = 50;int n1,m1,n

11、2,m2,aSIZESIZE,bSIZESIZE;int main() int i,j,k1,k2; bool good ,haveAns; cinn1m1; for(i=1;i=n1;i+) for(j=1;jaij; cinn2m2; for(i=1;i=n2;i+) for(j=1;j=m2;j+) ; haveAns=false; for(i=1;i=n1-n2+1;i+) for(j=1;j= ;j+) ; for(k1=1;k1=n2;k1+) for(k2=1;k2= ;k2+) if(ai+k1-1j+k2-1!=bk1k2) good=false; if(good) cout

12、i jendl; ; if(!haveAns) coutThere is no answerendl; return 0;2. (大整数开方) 输入一个正整数n(1n10100),试用二分法计算它的平方根的整数部分。#include#includeusing namespace std;const int SIZE=200;struct hugeint int len,numSIZE;/其中len表示大整数的位数;num1表示个位,num2表示十位,以此类推hugeint times(hugeint a,hugeint b)/ 计算大整数a和b的乘积 int i,j; hugeint ans;

13、 memset(ans.num,0,sizeof(ans.num); for(i=1;i=a.len;i+) for(j=1;j=b.len;j+) +=a.numi*b.numj; for(i=1;i0) ans.len=a.len+b.len; else ans.len=a.len+b.len-1; return ans;hugeint add(hugeint a,hugeint b)/计算大整数a和b 的和 int i; hugeint ans; memset(ans.num,0,sizeof(ans.num); if(a.lenb.len) ans.len=a.len; else an

14、s.len=b.len; for(i=1;i0) ans.len+; return ans;hugeint average(hugeint a,hugeint b)/计算大整数a和b的平均数的整数部分 int i; hugeint ans; ans=add(a,b); for(i=ans.len;i=2;i-) ans.numi-1+=( )*10; ans.numi/=2; ans.num1/=2; if(ans.numans.len=0) ans.len-; return ans;hugeint plustwo(hugeint a)/ 计算大整数a加2之后的结果 int i; hugein

15、t ans; ans=a; ans.num1+=2; i=1; while( (i=10) ) ans.numi+1+=ans.numi/10; ans.numi%=10; i+; if(ans.numans.len+10) ; return ans;bool over(hugeint a,hugeint b)/ 若大整数ab则返回true,否则返回false int i; if( ) return false; if( a.lenb.len ) return true; for(i=a.len;i=1;i-) if(a.numib.numi) return true; return false;int main() string s; int i; hugeint target,left,middle,right; cins; memset(target.num,0,sizeof(target.num); target.len=s.length(); for(i=1;i=1;i-) coutbij m1-m2+1 good=true m2 haveAns=true2. ans.numi+j-1 ans.numi%=10 a.numi+b.numi ans.numi % 2 ans.len+ a.lenb.len 0或48 times(middle,middle),target

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1