版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年CSP-J入门级(第一轮)C++真题(含答案)一、单选题。1.一个32位无符号整数可以表示的最大值,最接近下列哪个选项?()。A.4×109B.3×109C.2×109D.2×1010标准答案:A。2.在C++中,执行intx=255;cout<<(x&(x-1));后,输出的结果是?()。A.255B.254C.128D.0标准答案:B。3.函数calc(n)的定义如下,则calc(5)的返回值是多少?()。intcalc(intn){if(n<=1)return1;if(n==2)return2;returncalc(n-1)+calc(n-2);}A.5B.6C.7D.8标准答案:B。4.用5个权值10,12,15,20,25构造哈夫曼树,该树的带权路径长度是多少?()。A.176B.186C.196D.206标准答案:B。5.在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和,这个总和等于?()。A.顶点数B.边数C.顶点数+边数D.顶点数*2标准答案:B。6.从5位男生和4位女生中选出4人组成一个学习小组,要求学习小组中男生和女生都有。有多少种不同的选举方法?()。A.126B.121C.120D.100标准答案:C。7.假设a、b、c都是布尔变量,逻辑表达式(a&&b)||(!c&&a)的值与下列哪个表达式不始终相等?()。A.a&&(b||!c)B.(a||!c)&&(b||!c)&&(a||a)C.a&&(!b||c)D.!(!a||!b)||(a&&!c)标准答案:C。8.已知f[0]=1,f[1]=1并且对于所有n≥2有f[n]=(f[n-1]+f[n-2])%7,那么f[2025]的值是多少?()。A.2B.4C.5D.6标准答案:D。9.下列关于C++string类的说法,正确的是?()。A.tring对象的长度在创建后不能改变。B.可以使用+运算符直接连接一个string对象和一个char类型的字符。C.string的length()和size()方法返回的值可能不同。D.string对象必须以'\0'结尾,且这个结尾符计入length()。标准答案:B。10.考虑以下C++函数,在main函数调用solve后,x和y的值分别是?()。voidsolve(int&a,intb){a=a+b;b=a-b;a=a-b;}intmain(){intx=5,y=10;solve(x,y);}A.5,10B.10,5C.10,10D.5,5标准答案:C。11.一个8×8的棋盘,左上角坐标为(1,1),右下角为(8,8)。一个机器人从(1,1)出发,每次只能向右或向下走一格。要到达(4,5),有多少种不同的路径?()。A.20B.35C.56D.70标准答案:B。12.某同学用冒泡排序对数组{6,1,5,2,4}进行升序排序,请问需要进行多少次元素交换?()。A.5B.6C.7D.8标准答案:B。13.十进制数72010和八进制数2708的和用十六进制表示是多少?()。A.38816B.3DE16C.28816D.99016标准答案:A。14.一棵包含1000个结点的完全二叉树,其叶子结点的数量是多少?()。A.499B.512C.500D.501标准答案:C。15.给定一个初始为空的整数栈S和一个空的队列P。我们按顺序处理输入的整数队列A:7,5,8,3,1,4,2。对千队列A中的每一个数,执行以下规则:如果该数是奇数,则将其压入栈S;如果该数是偶数,且栈S非空,则弹出一个栈顶元素,并加入到队列P的末尾:如果该数是偶数,且栈S为空,则不进行任何操作。当队列A中的所有数都处理完毕后,队列P的内容是什么?()。A.5,1,3B.7,5,3C.3,1,5D.5,1,3,7标准答案:A。二、组合题(阅读程序)。阅读程序(一)。16-21组合题。16.当输入为2时,程序并不会执行第16行的判断语句?()。A.正确B.错误标准答案:A。17.将第16行中的“&&gcd(i,k)==1”删去不会影响程序运行结果?()。A.正确B.错误标准答案:B。18.当输入的n≥3的时候,程序总是输出一个正整数?()。A.正确B.错误标准答案:A。19.将第7行的“gcd(b,a%b)”改为“gcd(a,a%b)”后,程序可能出现的问题是?()。A.输出的答案大于原答案。B.输出的答案小于原答案。C.程序有可能陷入死循环。D.可能发生整型溢出问题。标准答案:B。20.当输入为8的时候,输出为?()。A.37B.42C.35D.25标准答案:D。21.调用gcd(36,42)会返回?()。A.6B.252C.3D.2标准答案:A。阅读程序(二)。22-27题组合题。22.当输入为“31321”时,输出结果为2。()。A.正确B.错误标准答案:A。23.假设输入的n为正整数,输出的答案一定小于等于n,大于等于1。()。A.正确B.错误标准答案:A。24.将第16行的“n=std:unique(a+1,a+n+1)-a-1;”删去后,有可能出现与原本代码不同的输出结果?()。A.正确B.错误标准答案:B。25.假设输入的a数组和k均为正整数,执行第19行代码时,一定满足的条件不包括?()。A.j<=iB.a[i]-a[j]>kC.j<=nD.a[j]<a[i]标准答案:B。26.当输入的n=100,k=2,a={1,2,…,100}时,输出为?()。A.34B.100C.50D.33标准答案:A。27.假设输入的a数组和k均为正整数,但a数组不一定有序,若误删去第15行的"std::sort(a+1,a+n+1);",程序有可能出现的问题有?()。A.输出的答案比原本答案更大B.输出的答案比原本答案更小C.出现死循环行为D.以上均可能发生标准答案:B。阅读程序(三)。28-33题组合题。28.当输入“412341322”时,输出为2。()。A.正确B.错误标准答案:A。29.当程序运行完毕后,对于所有的1≤i,j≤n,都一定有f[i][j]<=f[n][n]。()。A.正确B.错误标准答案:A。30.将第18行的f[i][j]=std::max(f[i][j],std::max(f[i-1][j],f[i][j-1]));删去后,并不影响程序运行结果。()()。A.正确B.错误标准答案:B。31.输出的答案满足的性质有()。A.小于等于nB.大于等于0C.不一定大于等于1D.以上均是标准答案:D。32.如果在16行的循环前加上以下两行:“std::sort(a+1,a+n+1);std::sort(b+1,b+n+1)”,则答案会()。A.变大或不变B.变小或不变C.一定变大D.不变标准答案:A。33.如果输入的a={1,2,…,n},而且b数组中数字均为1~n中的正整数,则上述代码等价于下面哪个问题?()。A.求b数组去重后的长度B.求b数组的最长上升子序列C.求b数组的长度D.求b数组的最大值标准答案:B。三、单选题(完善程序)。完善程序(一)。34-38题组合题。字符串解码。“行程长度编码”(Run-LengthEncoding)是一种无损压缩算法,常用于压缩重复字符较多的数据,以减少存储空间。假设原始字符串不包含数字字符,压缩规则如下:(1)如果原始字符串中一个字符连续出现N次(N≥2),在压缩字符串中表示为“字符+数字N”。例如,编码“A12”代表12个连续的字符A。(2)如果原始字符串中一个字符只出现1次,在压缩字符串中表示为该字符本身。例如,编码“B”代表1个字符B。以下程序实现读取压缩字符串并输出其原始的、解压后的形式,试补全程序。#include<cctype>#include<iostream>#include<string>usingnamespacestd;intmain(){stringz;cin>>z;strings="";for(inti=0;i<z.length();){charch=z[i];if(①&&isdigit(z[i+1])){intcount=0;i++;while(i<z.length()&&isdigit(z[i])){count=②;i++;}for(intj=0;j<③;++j){s+=ch;}}else{s+=④;⑤;}}cout<<s<<endl;return0;}34.题①处应?()。A.i<z.length()B.i-1>=0C.i+1<z.length()D.isdigit(z[i])标准答案:C。35.题②处应?()。A.count+(z[i]-'0')B.count*10+(z[i]-'0')C.z[i]-'0'D.count+1标准答案:B。36.题③处应?()。A.count-1B.countC.10D.z[i]-'0'标准答案:B。37.题④处应?()。A.z[i+1]B.chC.z.back()D.(char)z[i]+1标准答案:B。38.题⑤处应?()。A.i--B.i=i+2C.i++D.//不执行任何操作。标准答案:C。完善程序(二)。39-43题组合题。精明与糊涂。有N个人,分为两类:(1)精明人:永远能正确判断其他人是精明还是糊涂;(2)糊涂人:判断不可靠,会给出随机的判断。已知精明人严格占据多数,即如果精明人有k个,则满足k>N/2。你只能通过函数query(i,j)让第i个人判断第j个人:返回true表示判断结果为“精明人”。返回false表示判断结果为“糊涂人”。目标是通过互相判断,找出至少一个百分之百能确定的精明人(无需关心query(i,j)的内部实现)。以下程序利用“精明人占多数”的优势,通过“消除”过程让人们互相判断并抵消。经过若干轮抵消后,最终留下的候选者必然属于多数派,即精明人。例如,假设有三个人0、1、2。如果0说1是糊涂人,而1也说0是糊涂人,则O和1至少有一个是糊涂人。程序将同时淘汰0和1。由千三人里至少有两个精明人,我们确定2是精明人。试补全程序。#include<iostream>#include<vector>usingnamespacestd;intN;boolquery(inti,intj);intmain(){cin>>N;intcandidate=0;intcount=_①___;for(inti=1;i<N;++i){if(___②___){candidate=i;count=1;}else{if(___③___){____④_____;}else{count++;}}}cout<<__⑤__<<endl;return0;}39.题①处应?()。A.0B.1C.ND.-1标准答案:B。40.题②处应?()。A.count<0B.count==1C.count==0D.query(candidate,i)==false标准答案:C。41.题③处应?()。A.que
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年高考生物最后冲刺押题试卷及答案(共九套)
- 2026年假膜性肠炎患者护理常规课件
- 智慧制造:信息系统集成-赋能制造业提升竞争力
- 塑料工艺:创新与突破-从需求出发优化性能提升竞争力
- 浅析高中班主任德育工作的有效开展策略
- 汽车维修与保养标准操作流程预案
- 行业招聘面试题库及评分标准
- 环境友爱行动计划承诺书(6篇)
- 教育科技研发承诺函8篇
- 互联网时代中小企业市场营销策略研究报告
- 2026临沂郯城县司法雇员招聘(40名)农业笔试备考题库及答案解析
- 2026半包装修合同
- 河南工业职业技术学院2026年单独招生《职业适应性测试》模拟试题
- 2026校招:山东鲁信投资控股集团笔试题及答案
- 小学学校内部控制制度
- 5.1《四大地理区域的划分》参考教学设计
- 中国跨境数据流动安全管理与合规审计要点分析报告
- 风机液压站培训课件
- 2026年湖南有色新田岭钨业有限公司招聘备考题库及一套完整答案详解
- 家庭减盐科普
- 反贿赂管理体系培训课件
评论
0/150
提交评论