您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > noip2014普及组初赛试题+答案
1/8NOIP2014第二十届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2014年10月11日14:30~16:30选手注意:1、试题纸共有5页,答题纸共有2页,满分100分。请在答题纸上作答,写在试题纸上的一律无效。2、不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)⒈以下哪个是面向对象的高级语言()。A.汇编语言B.C++C.FortranD.Basic⒉1TB代表的字节数是()。A.2的10次方B.2的20次方C.2的30次方D.2的40次方⒊二进制数00100100和00010101的和是()。A.00101000B.001010100C.01000101D.00111001⒋以下哪一种设备属于输出设备()。A.扫描仪B.键盘C.鼠标D.打印机⒌下列对操作系统功能的描述最为完整的是()。A.负责外设与主机之间的信息交换B.负责诊断机器的故障C.控制和管理计算机系统的各种硬件和软件资源的使用D.将没有程序编译成目标程序⒍CPU、存储器、I/O设备是通过()连接起来的。A.接口B.总线C.控制线D.系统文件⒎断电后会丢失数据的存储器是()。A.RAMB.ROMC.硬盘D.光盘⒏以下哪一种是属于电子邮件收发的协议()。A.SMTPB.UDPC.P2PD.FTP⒐下列选项中不属于图像格式的是()。A.JPEG格式B.TXT格式C.GIF格式D.PNG格式⒑链表不具有的特点是()。A.不必事物估计存储空间B.可随机访问任一元素C.插入删除不需要移动元素D.所需空间与线性表长度成正比⒒下列各无符号十进制整数中,能用八位二进制表示的数中最大的是()。A.296B.133C.256D.199⒓下列几个32位IP地址中,书写错误的是()。A.162.105.135.27B.192.168.0.1C.256.256.129.1D.10.0.0.1⒔要求以下程序的功能是计算:s=1+1/2+1/3+...+1/10。#includeiostream2/8usingnamespacestd;intmain(){intn;floats;s=1.0;for(n=10;n1;n--)s=s+1/n;coutsendl;return0;}程序运行后输出结果错误,导致错误结果的程序行是()。A.s=1.0;B.for(n=10;n1;n--)C.s=s+1/n;D.coutsendl;⒕设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()。A.x=(x*100)+0.5/100.0;B.x=(x*100+0.5)/100.0;C.x=(int)(x*100+0.5)/100.0;D.x=(x/100+0.5)*100.0;⒖有以下程序#includeiostreamusingnamespacestd;intmain(){ints,a,n;s=0;a=1;cinn;do{s+=1;a-=2;}while(a!=n);coutsendl;return0;}3/8若要使程序的输出值为2,则应该从键盘给n输入的值是()。A.-1B.-3C.-5D.0⒗一棵具有5层的满二叉树中结点数为()。A.31B.32C.33D.16⒘有向图中每个顶点的度等于该顶点的()。A.入度B.出度C.入度和出度之和D.入度和出度之差⒙设有100个数据元素,采用折半搜索时,最大比较次数为()。A.6B.7C.8D.10⒚若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c0。s=a;for(b=1;b=c;b++)s+=1;则与上述程序段功能等价的赋值语句是()。A.s=a+bB.s=a+cC.s=s+cD.s=b+c⒛计算机界的最高奖是()。A.菲尔兹奖B.诺贝尔奖C.图灵奖D.普利策奖二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1.把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。例如,M=7,N=3时,K=8;在这里认为和是同一种放置方法。问:M=8,N=5时,K=18。2.如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是11。三、阅读程序写结果(共4题,每题8分,共计32分)1.#includeiostreamABCGDFE3462864421714/8usingnamespacestd;intmain(){inta,b,c,d,ans;cinabc;d=a-b;a=d+c;ans=a*b;coutAns=ansendl;return0;}输入:234输出:Ans=92.#includeiostreamusingnamespacestd;intfun(intn){if(n==1)return1;if(n==2)return2;returnfun(n-2)-fun(n-1);}intmain(){intn;cinn;coutfun(n)endl;return0;}输入:7输出:-115/83.#includeiostream#includestringusingnamespacestd;intmain(){stringst;inti,len;getline(cin,st);len=st.size();for(i=0;ilen;i++)if(st[i]='a'&&st[i]='z')st[i]=st[i]-'a'+'A';coutstendl;return0;}输入:Hello,mynameisLostmonkey.输出:HELLO,MYNAMEISLOSTMONKEY.4.#includeiostreamusingnamespacestd;constintSIZE=100;intmain(){intp[SIZE];intn,tot,i,cn;tot=0;cinn;for(i=1;i=n;i++)p[i]=1;for(i=2;i=n;i++){if(p[i]==1)6/8tot++;cn=i*2;while(cn=n){p[cn]=0;cn+=i;}}couttotendl;return0;}输入:30输出:10四、完善程序(共2题,共计28分)1.(数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空3分,共12分)#includeiostreamusingnamespacestd;intdelnum(char*s){inti,j;j=0;for(i=0;s[i]!='\0';i++)if(s[i]'0'||s[i]'9'){s[j]=s[i];j++;}returnj;}constintSIZE=30;intmain(){chars[SIZE];7/8intlen,i;cin.getline(s,sizeof(s));len=delnum(s);for(i=0;ilen;i++)couts[i];coutendl;return0;}2.(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空4分,其余3分,共16分)比如在如下这个矩阵中:440-2-7092-62-41-41-180-2拥有最大和的子矩阵为:92-41-18其和为1533-21020-1100-20-2-3最大子矩阵和为128440-2-9-9-91157-4-3-7-6-1775最大子矩阵和为26#includeiostreamusingnamespacestd;8/8constintSIZE=100;intmatrix[SIZE+1][SIZE+1];introwsum[SIZE+1][SIZE+1];//rowsum[i][j]记录第i行前j个数的和intm,n,i,j,first,last,area,ans;intmain(){cinmn;for(i=1;i=m;i++)for(j=1;j=n;j++)cinmatrix[i][j];ans=matrix[1][1];for(i=1;i=m;i++)rowsum[i][0]=0;for(i=1;i=m;i++)for(j=1;j=n;j++)rowsum[i][j]=rowsum[i][j-1]+matrix[i][j];for(first=1;first=n;first++)for(last=first;last=n;last++){area=0;for(i=1;i=m;i++){area+=rowsum[i][last]-rowsum[i][first-1];if(areaans)ans=area;if(area0)area=0;}}coutansendl;return0;}
本文标题:noip2014普及组初赛试题+答案
链接地址:https://www.777doc.com/doc-5411413 .html