普及组CSP-J2024初赛模拟卷2_第1页
普及组CSP-J2024初赛模拟卷2_第2页
普及组CSP-J2024初赛模拟卷2_第3页
普及组CSP-J2024初赛模拟卷2_第4页
普及组CSP-J2024初赛模拟卷2_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

普及组CSP-J2024初赛模拟卷2[复制]您的姓名:[填空题]*_________________________________一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)1.在C++程序中用到的一个常量a=5e-6在内存中占()空间。[单选题]A.2字节B.1字节C.4字节D.8字节(正确答案)2.以下关于CSP与NOIP的描述正确的是()。[单选题]A.CSP属于专业认证,只有计算机专业在校生才能参加B.CSP-J/CSP-S是中国通信学会举办的程序设计竞赛C.CSP-J初赛零分也可以直接报名参加NOIPD.CSP-J和CSP-S都是CCF牵头举办的程序设计赛事(正确答案)3.某单位安装一条电信宽带进行上网,运营商说下行速度是500Mbps。要下载大小为10GB的软件,最快大约需要()秒。[单选题]A.2B.20C.200(正确答案)D.20004.大写字母M的ASCII码整数值和空格的ASCII码整数值之和,是字母m的ASCII码整数值。空格的ASCII码整数值是()。[单选题]A.32(正确答案)B.31C.30D.295.在微型计算机中,()的存取速度最快。[单选题]A.RAMB.CD-ROMC.高速缓存D.寄存器(正确答案)6.搜索算法中的DFS算法经常用到的数据结构是()。[单选题]A.堆B.栈(正确答案)C.链表D.队列7.以下哪个说法是正确的?()[单选题]A.花括号“{”和“}”只能作为C++函数体的定界符B.构成C++程序的基本单位是函数,所有函数名都可以由用户命名C.分号是C+语句之间的分隔符,不是语句的一部分D.C++程序中的注释部分可以出现在程序中任意合适的地方(正确答案)8.在下列排序算法中,STL中的sort()函数采用的主要算法是()。[单选题]A.选择排序B.快速排序(正确答案)C.冒泡排序D.拓扑排序9.以下哪个说法是正确的?()[单选题]A.第一台电子计算机ENIAC是基于集成电路的产物B.计算机必须要同时有IP地址和域名才能接入互联网C.david@163.com是一个正确的电子邮箱地址(正确答案)D.手机上收到的短信,里面的链接可以随意点击打开10.以下不能对二维数组a进行正确初始化的语句是()。[单选题]A.inta[2][3]={{1,2},{3,4},{5,6}};(正确答案)B.inta[][3]={{1,2},{0}};C.inta[2][3]={0};D.inta[][3]={1,2,3,4,5,6};11.现在有一个八进制数274,其转换成的二进制数是()。[单选题]A.10111011B.10111101C.10111100(正确答案)D.1010110012.设A=true,B=false,C=false,D=true,以下逻辑运算表达式的值为假的是()。[单选题]A.((AΛB)VC)ΛD(正确答案)B.(AVB)Λ(CVD)C.AΛ((BVC)VD))D.(AΛ(BVC))VD13.二叉树的中序序列为ABCEFGHD,后序序列为ABFHGEDC,则其前序序列为().[单选题]A.CBADEGHFB.CBADEGFH(正确答案)C.CBDAEGFHD.CBADGEFH14.从班级中体育比较好的12人中选5人去参加运动会,其中甲、乙、丙最多同时选两人,不同的选法共有()种。[单选题]A.792B.756(正确答案)C.720D.67615.以下哪个结构可以用来存储图?()[单选题]A.栈B.二叉树C.邻接表(正确答案)D.队列二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确选A,错误选B;除特殊说明外,判断题每题1.5分,选择题每题3分,共计40分)(1)01#include<iostream>

02#include<cstring>

03usingnamespacestd;

04chars1[1005],s2[1005];

05inta[1005],b[1005],c[1005];

06intmain()

07{

08

intla,lb,lc;

09

scanf("%s%s",s1,s2);

10

la=strlen(s1);

11

lb=strlen(s2);

12

lc=max(la,lb)+1;

13

for(inti=0;i<la;++i)

14

a[la-i]=s1[i]-'0';

15

for(inti=0;i<lb;++i)

16

b[lb-i]=s2[i]-'0';

17

for(inti=1;i<=lc;i++)

18

{

19

c[i]+=a[i]+b[i];

20

c[i+1]=c[i]/10;

21

c[i]=c[i]%10;

22

}

23

if(c[lc]==0&&lc>0)

24

lc--;

25

for(inti=lc;i>0;i--)

26

printf("%d",c[i]);

27

return0;

28}16.将第2行代码改为#include<stdio.h>,程序的运行结果不会改变。()[单选题]A.对B.错(正确答案)17.将第9行代码改为cin>>s1>>s2;,程序的运行结果不会改变。()[单选题]A.对(正确答案)B.错18.若输入两个都超过1005位长的正整数,则程序一定会出错且无输出。()[单选题]A.对B.错(正确答案)19.在输入00的情况下,将第23行代码中的lc>0去掉,程序的运行结果不会改变。()[单选题]A.对(正确答案)B.错20.若输入数据为10241000,则输出为()。[单选题]A.24B.2024(正确答案)C.1024D.100021.若输入数据为1-1,则输出为()。[单选题]A.1B.0C.-1D.以上都不是(正确答案)(2)01#include<bits/stdc++.h>

02usingnamespacestd;

03intn,a[1000005],t[1000005];

04longlongans=0;

05voidmergesort(inta[],intL,intR){

06

if(L==R)return;

07

intmid=(L+R)/2;

08

mergesort(a,L,mid);

09

mergesort(a,mid+1,R);

10

inti=L,j=mid+1,k=L;

11

while(i<=mid&&j<=R)

12

if(a[i]<=a[j])t[k++]=a[i++];

13

elseans+=mid-i+1,t[k++]=a[j++];

14

while(i<=mid)t[k++]=a[i++];

15

while(j<=R)t[k++]=a[j++];

16

for(inti=L;i<=R;i++)a[i]=t[i];

17}

18intmain(){

19

cin>>n;

20

for(inti=1;i<=n;i++)scanf("%d",a+i);

21

mergesort(a,1,n);

22

cout<<ans<<endl;

23

return0;

24}22.mergesort函数运行结束后,数组a一定单调不下降。()[单选题]A.对(正确答案)B.错23.将第7行改为mid=L+R>>1;程序的输出结果不变。()[单选题]A.对(正确答案)B.错24.mergesort用到了分治思想中的三分。()[单选题]A.对B.错(正确答案)25.即使输入的n<10万,ans也应该定义成longlong才能确保结果正确。()[单选题]A.对(正确答案)B.错26.在最坏情况下,本代码时间复杂度和下面哪个算法相当?()[单选题]A.插入排序B.选择排序C.堆排序(正确答案)D.快速排序27.若输入为6537231,则输出为()。[单选题]A.7B.9C.13D.11(正确答案)(3)01#include<bits/stdc++.h>

02usingnamespacestd;

03intt,x[100],a[100];

04voiddfs(intd,inti,intn)

05{

06

if(n==1)

07

{

08

for(intk=0;k<d;k++)

09

printf("%4d",a[k]);

10

printf("\n");

11

}

12

else

13

for(intk=i;k<t;k++)

14

if(n%x[k]==0)

15

{

16

a[d]=x[k];

17

dfs(d+1,k,n/x[k]);

18

}

19}

20intmain()

21{

22

intn;

23

cin>>n;

24

for(inti=n;i>1;i--)

25

if(n%i==0)

26

x[t++]=i;

27

dfs(0,0,n);

28

return0;

29}28.该程序的作用是对n进行质因数分解并从小到大依次打印。()[单选题]A.对B.错(正确答案)29.将第9行代码printf("%4d",a[k]);中的4去掉,程序输出不变。()[单选题]A.对B.错(正确答案)30.第24~26行的作用是求出n的所有因子。()[单选题]A.对B.错(正确答案)31.程序运行过程中,若输入n为0或者负数,程序一定会打印错误,崩溃退出。()[单选题]A.对B.错(正确答案)32.若输入6,则输出最后一行为()。[单选题]A.32(正确答案)B.16C.23D.6133.若输入n=1,那么输出结果是()。[单选题]A.2B.1C.0D.什么也不输出(正确答案)34.(4分)若输入2024,则输出有()行。[单选题]A.18B.20C.21(正确答案)D.19三、完善程序(单选题,每小题3分,共计30分)(1)扫雷游戏是一款十分经典的单机小游戏。在n行m列的雷区中有一些格子含有地雷(称为地雷格),其他格子不含地雷(称为非地雷格)。玩家翻开一个非地雷格时,该格子中将会出现一个数字,提示周围格子中有多少个是地雷格。玩家的目标是在不翻出任何地雷格的条件下,找出所有的非地雷格。请将程序补充完整。

现在给出n行m列的雷区中的地雷分布,要求计算出每个非地雷格周围的地雷格数。注:一个格子的周围格子包括其上、下、左、右、左上、右上、左下、右下这8个方向上与之直接相邻的格子。

输入格式:

第1行是用一个空格隔开的两个整数n和m,分别表示雷区的行数和列数。接下来n行,每行m个字符,描述了雷区中的地雷分布情况。字符*表示相应格子是地雷格,字符?表示相应格子是非地雷格。相邻字符之间无分隔符。

输出格式:

输出文件包含n行,每行m个字符,描述整个雷区。用*表示地雷格,用周围的地雷个数表示非地雷格。相邻字符之间无分隔符。

输入样例:

33

*??

???

?*?

输出样例:

*10

221

1*101#include<bits/stdc++.h>

02usingnamespacestd;

03constintdx[]={1,1,1,0,0,-1,-1,-1};

04constintdy[]={-1,0,1,-1,1,-1,0,1};

05charg[101][101];

06intmain()

07{

08

intn,m,cnt;

09

cin>>n>>m;

10

for(inti=0;i<n;i++)

11

for(intj=0;j<m;j++)

12

cin>>g[i][j];

13

for(inti=0;i<n;i++)

14

{

15

for(intj=0;j<m;j++)

16

if(①)

17

{

18

②;

19

for(intk=0;③;k++)

20

if(④)

21

cnt++;

22

cout<<cnt;

23

}

24

else

25

cout<<"*";

26

if(⑤)

27

cout<<endl;

28

}

29

return0;

30}35.第①处应填()。[单选题]A.g[i][j]!='?'B.g[i][j]!='\0'C.g[i][j]!='*'(正确答案)D.g[i][j]=='*'36.第②处应填()。[单选题]A.cnt++B.cnt=0(正确答案)C.cnt==0D.++cnt==037.第③处应填()。[单选题]A.k<8(正确答案)B.k<mC.k<nD.k<min(m,n)38.第④处应填()。[单选题]A.g[i+dy[k]][j+dx[k]]=='*'B.g[i-dx[k]][j-dy[k]]=='*'C.g[i+dx[k]][j+dy[k]]=='*'(正确答案)D.g[i-dy[k]][j-dx[k]]=='*'39.第⑤处应填()。[单选题]A.j!=mB.j!=m-1C.i!=nD.i!=n-1(正确答案)(2)给你n根火柴棍,你可以拼出多少个形如A+B=C的等式?等式中的A、B、C是用火柴棍拼出的整数(若该数非零,则最高位不能是0)。用火柴棍拼数字0~9的拼法如图所示。

注意:

1.加号与等号各自需要两根火柴棍;

2.如果A不等于B,则视A+B=C与B+A=C为不同的等式(A,B,C≥0);

3.n根火柴棍必须全部用上。

输入格式:

一个整数n(1≤n≤24)。

输出格式:

一个整数,表示能拼成的不同等式的数目。

输入样例:

18

输出样例:

9

样例说明:

9个等式为0+4=4、0+11=11、1+10=11、2+2=4、2+7=9、4+0=4、7+2=9、10+1=11,11+0=11。01#include<bits/stdc++.h>

02usingnamespacestd;

03inthcb[10]={6,2,5,5,4,5,6,3,7,6};

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论