1、NOIP初赛普及组C+题目及答案NOIP2014初赛普及组C+题目及答案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中的数值保留到小数点后两位,并将第三位四舍五入的是()。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()i
2、nts,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+c C.s=s+c D.s=b+c计算机界的最高奖是()。A.菲尔兹奖B.诺贝尔奖C.图灵奖D.普利策奖二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1.把M个同样的球放到N个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的放置方法?(用K表示)。例如,M7,N3时,K8;在这里认为和是同一种放置方法。问:M8,N5时,K 。2.如图所示,图
3、中每条边上的数字表示该边的长度,则从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输出: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;re
4、turn0;输入: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;输入:Hello,mynameisLostmonkey.输出: 4.#includeusingnamespacestd;constintSIZE=100;intmain()intpSIZE;intn,tot,i,cn;tot=0;cinn;for(i=1;i=n;i+)pi=1;for
5、(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分)#includeusingnamespacestd;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.getli
6、ne(s,sizeof(s); len=delnum(s);for(i=0;ilen;i+)cout ;coutendl;return0;2.(最大子矩阵和)给出m行n列的整数矩阵,求最大的子矩阵和(子矩阵不能为空)。输入第一行包含两个整数m和n,即矩阵的行数和列数。之后m行,每行n个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(最后一空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-
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()cinmn;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
8、+)for(last=first;last=n;last+) ; for(i=1;ians) ans=area; if(area0) area=0; coutansendl;return0;第二十届全国青少年信息学奥林匹克联赛初赛普及组参考答案一、单项选择题(共20题,每题1.5分,共计30分)12345678910BDDDCBAABB11121314151617181920DCCCBACBBC二、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1. 182. 11三、阅读程序写结果(共4题,每题8分,共计32分)1. Ans=92. -113. HELLO,MYNAM
9、EISLOSTMONKEY.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
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1