1 / 10
文档名称:

NOIP2024模拟卷(2.0).docx

格式:docx   大小:22KB   页数:10页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

NOIP2024模拟卷(2.0).docx

上传人:帅气的小哥哥 2024/5/14 文件大小:22 KB

下载得到文件列表

NOIP2024模拟卷(2.0).docx

文档介绍

文档介绍:该【NOIP2024模拟卷(2.0) 】是由【帅气的小哥哥】上传分享,文档一共【10】页,该文档可以免费在线阅读,需要了解更多关于【NOIP2024模拟卷(2.0) 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。CCFNOIP2024初赛普及组c++12024年第二十三届全国青少年信息学奥林匹克联赛初赛〔普及组c++语言两小时完成〕●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●选手注意:l试题纸共有8页,答题纸共有2页,总分值100分。请在答题纸上作答,写在试题纸上的一律无效。l不得使用任何电子设备〔如计算器、手机、电子词典等〕或查阅任何书籍资料。一、单项选择题〔共20题,,共计30分;每题有且仅有一个正确选项〕1、c++中“a=b=c〞〔a,b,c均为变量或表达式〕的作用是:〔〕A、判定a,b,c相等。B、将a的值给b,c。C、将c的值给a,b。D、将b的值给a,c。2、smalltalk是一种:〔〕A、汇编语言。B、面向对象的高级语言。C、面向过程的高级语言。D、算法。3、11进制的所有基数是:〔〕A、0,1,2,3,4,5,6,7,8,9,AB、1,2,3,4,5,6,7,8,9,A,BC、1,2,3,4,5,6,7,8,9,10,11D、0,1,2,3,4,5,6,7,8,9,104、以下代码中能实现s=a+b的是:〔〕A、s=a;for(inti=1;i<b;i++)s++;B、s=b;for(inti=0;i<=a;i++)++s;C、s=0;for(inti=1;i<=a;i++)for(intj=1;j<=b;j++)s++;CCFNOIP2024初赛普及组c++2D、s=a*b+b;for(inti=1;i<b;i++)s-=a;5、FTP协议是:〔〕A:远程登录协议B:文件传输协议C:电子邮件收发协议D:快速文件传输协议6、〔2^10〔此处指乘方〕〕2=〔〕A、**********B、1111111111C、1023D、10247、2024的二进制位数为:〔〕A、9B、10C、11D、20248、2TB=〔〕A、10^3GBB、2^10KBC、2^20MBD、10^9B9、高速缓存的英文缩写是:〔〕A、TCP/IPB、CPUC、ROMD、Cache10、以下不属于计算机病毒性质的是:〔〕A、简便性B、寄生性C、潜伏性D、隐蔽性11、满足〔〕的题目,可以使用动态规划。A、时限较小B、递推式不明显C、数据范围很大D、最优化原理12、当编写c++程序时运算出现的数字超出longlong时,以下不推荐使用的解决方法是:〔〕A、使用无符号整型,用另一个变量表示符号B、使用高精度算法C、将数据对一个数求余D、使用双精度实型,最后取整13、以下合法的IPv地址是:〔〕A、、、、、对数列:9,8,7,4,1,5进行冒泡排序〔升序〕,需要交换〔〕次。A、0B、11C、13D、1715、可以使用〔〕来实现cout的场宽输出,包含于〔〕头文件:A、printf,cstdioB、out,cstringC、setw,cstdlibD、long,iostream16、NOIP的意思是:全国青少年信息学奥林匹克〔〕A、竞赛B、联赛C、联赛普及组D、竞赛提高组17、〔〕头文件包含了sort函数,它的意思是“算法〞。A、algorithmB、cmathC、iostreamD、bits/stdc++.h18、c++表达式63^2^2的值是:A、61B、59C、15752961D、6319、利用指针可以构造出〔〕,在使用完后可以立即释放所用空间。CCFNOIP2024初赛普及组c++3A、线性表B、堆栈C、图D、链表20、stl队列所用头文件是:〔〕A、mapB、queueC、vectorD、iostream二、问题求解〔共2题,每题5分,共计10分〕1、排列12345,所有数字可重复使用,要求2不在5号位上,3不在1号位上,那么总方案数为____________。2、商店:某商店销售各种数量的某种货物。不管顾客所需的数量多少,该店总是能在第一时间把需要的货物量整理出,原因在于该店预先将所有货物按不同数量装箱,在收到需求时根据数目多少拿出所需的箱子〔可能一次拿出多个箱子〕。现要满足数量在100以内的某个订单,试问所需箱子的数量,及各个箱子按货物数量从小到大的顺序所包含的货物数量:______________三、阅读程序写结果〔共4题,每题8分,共计32分〕1、#include<cstdio>usingnamespacestd;intmain(){intn,m,s=0;scanf("%d%d",&n,&m);boolvisit[200]={0};for(intk=0;k<n;k++){for(inti=0;i<m;i++){if(++s>n)s=1;if(visit[s])i--;}printf("%d",s);visit[s]=true;}return0;}输入:103输出:__________2、#include<>#include<>intn;chara[10000];intmain(){scanf("%d%s",&n,a);intl=strlen(a);inti;CCFNOIP2024初赛普及组c++4if(a[0]=='0')printf("0");for(i=0;i<l;i++){if(a[i]=='0')gotoA;elseif(a[i]>'0'&&a[i]<='9')printf("%d*%d^%d",a[i]-'0',n,l-i-1);elseif(a[i]>='a'&&a[i]<='z')printf("%d*%d^%d",a[i]-'a'+10,n,l-i-1);elseif(a[i]>='A'&&a[i]<='Z')printf("%d*%d^%d",a[i]-'A'+10,n,l-i-1);A:if(a[i+1]!='0'&&a[i+1]!=0)printf("+");}return0;}输入:210101输出:__________3、#include<iostream>#include<cstdio>#include<cstring>usingnamespacestd;intmain(){constintMAXN=20010;intf[MAXN];intv[40];memset(f,0,sizeof(f));memset(v,0,sizeof(v));intn;intm;cin>>n;cin>>m;for(inti=1;i<=m;i++){cin>>v[i];}for(inti=1;i<=m;i++){for(intj=n;j>=v[i];j--){if(f[j]<f[j-v[i]]+v[i]){f[j]=f[j-v[i]]+v[i];CCFNOIP2024初赛普及组c++5}}}cout<<n-f[n];return0;}输入:2468312797输出:_________4、#include<bits/stdc++.h>usingnamespacestd;inta[101],n,i,m;intfunction(intx){intleft=0;intright=n-1;while(left<=right){intmiddle=(left+right)/2;if(a[middle]==x)returnmiddle;if(x>=a[middle])left=middle+1;elseright=middle-1;}return-1;}intmain(){ cin>>n; for(i=1;i<=n;i++)cin>>a[i]; sort(a,a+n+1); for(i=n;i>=1;i--)cout<<a[i]<<'';CCFNOIP2024初赛普及组c++6 cin>>m; cout<<function(m); cout<<endl;}(1)输入:101059172901065输出:____________(2)输入:20423896099875951257892452632939605756输出:_____________四、完善程序〔前11空,每空2分,后2空,每空3分,共计28分〕1、〔Catalan数列〕:对于输入的n,输出Catalan数列的第n项。〔1〕Catalan公式:ans=f[0]*f[n-1]+f[1]*f[n-2]+...+f[n-1]*f[0];#include<cstdio>intn,f[30];intmain(){scanf("%d",&n);f[0]=1,f[1]=〔1〕;〔2分〕for(inti=2;i<=n;i++)for(intj=0;〔2〕;j++)〔2分〕f[i]+=f[j]*f[〔3〕];〔3分〕printf("%d",f[n]);return0;}〔2〕Catalan(n)=C(2n,n)/(n+1)=>2n!/n!/n!/n+1=>π(n+2<=i<=2n,i)/n!#include<cstdio>intmain(){intn,i;longlongans=1;scanf("%d",&n);for(〔4〕;i++)〔3分〕ans=ans*〔5〕;〔3分〕CCFNOIP2024初赛普及组c++7printf("%lld",ans/(n+1));return0;}2、归并排序:归并排序是一种稳定的O〔nlogn〕算法,该算法的主要思想是将原数列分成2份,分别归并排序,再将两数列合并,是二分算法的根本表达。现要求完成以下归并排序的子程序段:voidmerge(int*data,intstart,intend,int*result)//归并{intleft_length=〔1〕;〔3分〕intleft_index=start;intright_index=start+left_length;intresult_index=start;while(〔2〕&&〔3〕)〔2分,2分〕{if(data[left_index]<=data[right_index])result[result_index++]=data[left_index++];elseresult[result_index++]=data[right_index++];}while(left_index<start+left_length)result[result_index++]=data[left_index++];while(〔4〕)〔3分〕result[result_index++]=data[right_index++];}voidmerge_sort(int*data,intstart,intend,int*result)//分解{if(1==end-start){if(〔5〕)〔2分〕{inttemp=data[start];data[start]=data[end];data[end]=temp;}return;}elseif(0==end-start)return;else{merge_sort(data,start,(end-start+1)/2+start,result);merge_sort(data,(end-start+1)/2+start+1,end,result);〔6〕;〔3分〕CCFNOIP2024初赛普及组c++8for(inti=start;i<=end;++i)data[i]=result[i];}2024年第二十三届全国青少年信息学奥林匹克联赛初赛CCFNOIP2024初赛普及组c++9〔c++语言〕参考答案与评分标准一、单项选择题〔共20题,,共计30分〕**********CBADBACBDA11121314151617181920DCACCBADDB二、问题求解〔共2题,每题5分,共计10分〕:1248163264三、阅读程序写结果〔共4题,每题8分,共计32分〕*2^4+1*2^2+1*2^.(1)10**********(2)9996959392898778574532262523654100-1四、完善程序〔共28分〕〔说明:以下各程序填空可能还有一些等价的写法,各省可请本省专家审定和上机验证,不一定上报科学委员会审查〕1.①1②j<i③i-j-1④i=n+1;i<=2*n;i++⑤i/(i-n)2.①(end-start+1)/2+1②left_index<start+left_lengthCCFNOIP2024初赛普及组c++10③right_index<end+1④right_index<end+1⑤data[start]>data[end]⑥merge(data,start,end,result)