1、第二十届全国青少年信息学奥林匹克联赛初赛普及组C+语言试题2014年一、 快单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)以下哪个是面向对象的高级语言()。A.汇编语言B.C+C.FortranD.Basic1TB代表的字节数是()。A.2的10次方B.2的20次方C.2的30次方D.2的40次方二进制数00100100和00010101的和是()。A.00101000B.001010100C.01000101D.00111001以下哪一种设备属于输出设备()。A.扫描仪B.键盘C.鼠标D.打印机下列对操作系统功能的描述最为完整的是()。A.负责外设与主机之间的信息
2、交换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.所需空间与线性表长度成正比下列各无符号十进制整数中,能用八位二进
3、制表示的数中最大的是()。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。#includeusingnamespacestd;intmain()intn;floats;s=1.0;for(n=10;n1;n-)s=s+1/n;couts1;n-)C.s=s+1/n;D.coutsendl;设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是(
4、)。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;有以下程序#includeusingnamespacestd;intmain()ints,a,n;s=0;a=1;cinn;dos+=1;a-=2;while(a!=n);couts0。s=a;for(b=1;b=c;b+)s+=1;则与上述程序段功能等价的赋值语句是()。A.s=a+b B.s=a+cC.s=s+cD.s=b+c计算机界的最高奖是()。A.菲尔兹奖B.诺贝尔奖C.图灵奖D.普利策奖二、
5、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1.把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。例如,M7,N3时,K8;在这里认为和是同一种放置方法。问:M8,N5时,K 。2.如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是。三、阅读程序写结果(共4题,每题8分,共计32分)1.#includeusingnamespacestd;intmain()inta,b,c,d,ans;cinabc;d=a-b;a=d+c;ans=a*b;coutAns=ansendl;return0;输入:234输出
6、:Ans= 2.#includeusingnamespacestd;intfun(intn)if(n=1)return1;if(n=2)return2;returnfun(n-2)-fun(n-1);intmain()intn;cinn;coutfun(n)endl;return0;输入:7输出: 3.#include#includeusingnamespacestd;intmain()stringst;inti,len;getline(cin,st);len=st.size();for(i=0;i=a&sti=z) sti=sti-a+A;coutstendl;return0;输入:Hell
7、o,mynameisLostmonkey.输出: 4.#includeusingnamespacestd;constintSIZE=100;intmain()intpSIZE;intn,tot,i,cn;tot=0;cinn;for(i=1;i=n;i+)pi=1;for(i=2;i=n;i+) if(pi=1) tot+;cn=i*2;while(cn=n)pcn=0;cn+=i;couttotendl; return0;输入:30输出: 四、完善程序(共2题,共计28分)1.(数字删除)下面程序的功能是将字符串中的数字字符删除后输出。请填空。(每空3分,共12分)#includeusing
8、namespacestd;intdelnum(char*s)inti,j;j=0;for(i=0;si!=0;i+)if(si9)sj=si; ;return ;constintSIZE=30;intmain()charsSIZE;intlen,i;cin.getline(s,sizeof(s); len=delnum(s);for(i=0;ilen;i+)cout ;coutendl;return0;2.(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和
9、。(最后一空4分,其余3分,共16分)比如在如下这个矩阵中:4 40-2-7092-62-41-41-180-2拥有最大和的子矩阵为:92-41-18其和为153 3-21020-1100-20-2-3最大子矩阵和为1284 40-2-9-9-91157-4-3-7-6-1 7 7 5最大子矩阵和为26#includeusingnamespacestd;constintSIZE=100;intmatrixSIZE+1SIZE+1;introwsumSIZE+1SIZE+1;/rowsumij记录第i行前j个数的和intm,n,i,j,first,last,area,ans;intmain()c
10、inmn;for(i=1;i=m;i+)for(j=1;jmatrixij;ans=matrix ;for(i=1;i=m;i+) for(i=1;i=m;i+)for(j=1;j=n;j+)rowsumij= ; for(first=1;first=n;first+)for(last=first;last=n;last+) ;for(i=1;ians)ans=area;if(area0)area=0;coutansendl;return0;第二十届全国青少年信息学奥林匹克联赛初赛普及组参考答案一、单项选择题(共20题,每题1.5分,共计30分)12345678910BDDDCBAABB111
11、21314151617181920DCCCBACBBC二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1.182.11三、阅读程序写结果(共4题,每题8分,共计32分)1.Ans=92.-113.HELLO,MYNAMEISLOSTMONKEY.4.10四、完善程序(共计28分,以下各程序填空可能还有一些等价的写法,由各省赛区组织本省专家审定及上机验证,可以不上报CCFNOI科学委员会复核)Pascal语言C+语言C语言分值1.(1)or|3(2)j:=j+1或inc(j)j+或j=j+1或+j3(3)j3(4)si32.(1)1,1113(2)rowsumi,0:=0rowsumi0=03(3)rowsumi,j-1+matrixi,jrowsumij-1+matrixij3(4)area:=0area=03(5)rowsumi,last-rowsumi,first-1rowsumilast-rowsumifirst-14