2025年_CSP-J1初赛试卷
__SECTIONS__:[{"name": "单选题", "count": 15}, {"name": "阅读程序", "count": 18}, {"name": "完善程序", "count": 10}] 从PDF导入:2025年_CSP-J _初赛试卷
C++
120分钟
总分 100.0
43 题
试卷题目预览
第1题
中级
2.0分
单选
一个32位无符号整数可以表示的最大值,最接近下列哪个选项?( )
第2题
中级
2.0分
单选
在C++中,执行int x=255; cout<<(x&(x-1));后,输出的结果是?( )
第3题
中级
2.0分
单选
函数calc(n)的定义如下,则calc(5)的返回值是多少?( )
int calc(int n){
if(n<=1) return 1;
if(n%2==0) return calc(n/2)+1;
else return calc(n-1)+calc(n-2);
}
第4题
中级
2.0分
单选
用5个权值10、12、15、20、25构造哈夫曼树,该树的带权路径长度是多少?( )
第5题
中级
2.0分
单选
在一个有向图中,所有顶点的入度之和等于所有顶点的出度之和,这个总和等于?( )
第6题
中级
2.0分
单选
从5位男生和4位女生中选出4人组成一个学习小组,要求学习小组中男生和女生都有。有多少种不同的选举方法?( )
第7题
中级
2.0分
单选
假设a、b、c都是布尔变量,逻辑表达式(a&&b)||(!c&&a)的值与下列哪个表达式不始终相等?( )
第8题
中级
2.0分
单选
已知f[0]=1,f[1]=1,并且对于所有n≥2有f[n]=(f[n-1]+f[n-2])%7。那么f[2025]的值是多少?( )
第9题
中级
2.0分
单选
下列关于C++string类的说法,正确的是?( )
第10题
中级
2.0分
单选
考虑以下C++函数,在main函数调用solve后,x和y的值分别是?( )
void solve(int &a, int b){
a = a + b;
b = a - b;
a = a - b;
}
第11题
中级
2.0分
单选
一个8×8的棋盘,左上角坐标为(1,1),右下角为(8,8)。一个机器人从(1,1)出发,每次只能向右或向下走一格。要到达(4,5),有多少种不同的路径?(
第12题
中级
2.0分
单选
某同学用冒泡排序对数组{6,1,5,2,4}进行升序排序,请问需要进行多少次元素交换?( )
第13题
中级
2.0分
单选
十进制数720和八进制数270₈的和用十六进制表示是多少?( )
第14题
中级
2.0分
单选
一棵包含1000个结点的完全二叉树,其叶子结点的数量是多少?( )
第15题
中级
2.0分
单选
给定一个初始为空的整数栈S和一个空的队列P。按顺序处理输入的整数队列A:7、5、8、3、1、4、2。对于队列A中的每一个数,执行规则:如果该数是奇数,则将其压入
第16题
中级
1.0分
判断
(1)

当输入为2时,程序并不会执行第16行的判断语句。( )
第17题
中级
1.5分
判断
将第16行中的"&& gcd(i,k)==1"删去不会影响程序运行结果。( )
第18题
中级
1.5分
判断
当输入的n≥3的时候,程序总是输出一个正整数。( )
单选题
第19题
中级
3.0分
单选
将第7行的"gcd(b,a%b)"改为"gcd(a,a%b)"后,程序可能出现的问题是( )
第20题
中级
3.0分
单选
当输入为8的时候,输出为( )
第21题
中级
3.0分
单选
调用gcd(36,42)会返回( )
第22题
中级
1.0分
判断
(2)

当输入为"3 1 3 2 1"时,输出结果为2。( )
第23题
中级
1.5分
判断
假设输入的n为正整数,输出的答案一定小于等于n,大于等于1。( )
第24题
中级
1.5分
判断
将第14行"n=std::unique(a+1,a+n+1)-a-1;"删去后,有可能出现与原本代码不同的输出结果。( )
单选题
第25题
中级
3.0分
单选
假设输入的a数组和k均为正整数,执行第18行代码时,一定满足的条件不包括( )
第26题
中级
3.0分
单选
当输入的n=100、k=2、a={1,2,…,100}时,输出为( )
第27题
中级
3.0分
单选
假设输入的a数组和k均为正整数,但a数组不一定有序,则若误删去第13行的"std::sort(a+1,a+n+1);",程序有可能出现的问题有( )
第28题
中级
1.0分
判断
(3)

当输入"4 1 2 3 4 1 3 2 2"时,输出为2。( )
第29题
中级
1.5分
判断
当程序运行完毕后,对于所有的1≤i,j≤n,都一定有f[i][j]≤f[n][n]。( )
第30题
中级
1.0分
判断
将第18行的"f[i][j]=std::max(f[i][j],std::max(f[i-1][j],f[i][j-1]));"删去后,并不影响程序运行结果。()
单选题
第31题
中级
3.0分
单选
输出的答案满足的性质有( )
第32题
中级
3.0分
单选
如果在第16行的循环前加上"std::sort(a+1,a+n+1); std::sort(b+1,b+n+1);",则答案会( )

第33题
中级
3.0分
单选
如果输入的a={1,2,…,n},而且b数组中数字均为1∼n中的正整数,则上述代码等价于下面哪个问题:( )
第34题
中级
3.0分
单选
(1)
(字符串解码)"行程长度编码"(Run-Length Encoding)是一种无损压缩算法,常用于压缩重复字符较多的数据,以减少存储空间。假设原始字符串不包含数字字符。压缩规则如下:
i)如果原始字符串中一个字符连续出现N次(N≥2),在压缩字符串中它被表示为"字符+数字N"。例如,编码"A12"代表12个连续的字符A。
ii)如果原始字符串中一个字符只出现1次,在压缩字符串中它就表示为该字符本身。例如,编码"B"代表1个字符B。
以下程序实现读取压缩字符串并输出其原始的、解压后的形式。试补全程序。

①处应填( )