2026 CSP-J 第一轮真题
您的姓名:
1、下列 C++ 数据类型中,能够精确存储 10^18+1 这个整数的是( )。
A、float
B、long long
C、double
D、int
2、十六进制数 2F5 转换为八进制数是( )。
A、1364
B、1635
C、1405
D、1365
3、执行下列 C++ 代码,输出是( )。
A、9
B、10
C、7
D、6
4、初始时栈为空,将 1、2、3、4 依次入栈,入栈过程中允许随时出栈。下列出栈序列中不可能出现的是( )。
A、2, 4, 3, 1
B、1, 2, 3, 4
C、3, 1, 2, 4
D、1, 4, 3, 2
5、一棵有 100 个结点的完全二叉树,其中叶子结点个数是( )。
A、49
B、50
C、64
D、51
6、执行下列代码后 s 的值是( )。
A、3048
B、2733
C、2318
D、2418
7、上楼梯每步可上 1 级、2 级或 3 级,从地面(可视为第 0 级)走到第 8 级台阶共有多少种不同走法( )。
A、44
B、121
C、149
D、81
8、下图为 5×5 网格,行号、列号均从 0 开始,# 为障碍,. 为可通行格:
从 S 出发做广度优先搜索(BFS):初始时把 S 入队;每次取出队首格子,按“上、下、左、右”的顺序查看相邻格子,越界、障碍或已访问的格子跳过,其余格子标记为已访问并入队。当 E 第一次入队时,已经入队过的格子(含 S 和 E)共有多少个( )。
A、15
B、12
C、14
D、13
9、满足 1≤n≤100 且 gcd(n,60)=6 的正整数 n 共有多少个( )。
A、8
B、6
C、4
D、5
10、某国硬币面值为 1 元、4 元、6 元且数量不限,凑出 9 元最少需要多少枚( )。
A、3
B、4
C、5
D、2
11、执行下列代码,输出是( )。
A、14,13
B、8,13
C、14,7
D、14,2
12、在含 1000 个互不相同元素的升序数组中,用二分法查找给定值(返回元素位置或报告不存在),最坏情况下需要与数组元素比较多少次( )。
A、500
B、9
C、11
D、10
13、数组 a[1..n] 的前缀和数组 s(即 s[i]=a[1]+a[2]+...+a[i])满足 s[i]=3i^2+i。则 a[10] 的值是( )。
A、252
B、310
C、58
D、61
14、数轴上有 7 个点,坐标分别为 1, 3, 4, 7, 10, 15, 20。在数轴上选取一个整数坐标点 P,使 P 到这 7 个点的距离之和最小,这个最小距离和是( )。
A、37
B、42
C、40
D、38
15、一个无向图有 10 个顶点,其中 4 个顶点的度为 3,其余顶点的度均为 4,则该图的边数是( )。
A、36
B、18
C、17
D、20
16、【阅读程序(1)】(判断题:正确填√,错误填×;选择题每题有且仅有一个正确选项)
16:当输入为 3 时,程序输出为 3 3。( )
A、正确
B、错误
17、(程序见第16题)将第 11 行的 ++x; 删除后,程序输出的两个数一定相等。( )
A、正确
B、错误
18、(程序见第16题)假设输入为非负整数,则程序输出的第一个数一定不小于第二个数。( )
A、正确
B、错误
19、(程序见第16题)将 while (n > 0) 改为 while (n >= 0) 后,程序可能出现的问题是( )。
A、陷入死循环
B、输出结果比原来大
C、输出结果比原来小
D、输出结果不受影响
20、(程序见第16题)当输入为 6 时,输出为( )。
A、3 3
B、4 2
C、4 3
D、5 2
21、(程序见第16题)若输入 n 依次取遍 0,1,2,...,2^31-1 中的所有整数,则程序输出的第二个数恰好为 2 的次数为( )。
A、16
B、30
C、31
D、32
22、阅读下列程序当
22:输入为 123 456 时,程序输出为 0579。( )
A、正确
B、错误
23、(程序见第22题)假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零。( )
A、正确
B、错误
24、(程序见第22题)将第 21 行改为 c[i] = a[i] + b[i]; 后,程序输出的结果一定比原来的结果小。( )
A、正确
B、错误
25、(程序见第22题)当输入为 12345 678 时,输出为( )。
A、012923
B、013023
C、13023
D、130230
26、(程序见第22题)将第 22 行的 if (c[i] >= 10) 改为 if (c[i] > 10) 后,当输入为 95 15 时,输出为( )。
A、01010
B、110
C、140
D、1410
27、(程序见第22题)假设输入的两个数均为 n 位正整数(不含前导零),且它们的和小于 10^n,则程序输出的字符串一定满足( )。
A、第一个字符一定不为 0
B、长度一定为 n
C、长度一定为 n+1,且第一个字符为 0
D、长度可能为 n+2
28、阅读下列程序
28:当输入为 10 时,程序的输出共有 10 行。( )
A、正确
B、错误
29、(程序见第28题)若输入的 n 不大于 5,则程序的输出中一定包含 5。( )
A、正确
B、错误
30、(程序见第28题)若输入的 n 大于 10,将第 17 行的 for (int i = 0; i <= 9; i++) 改为 for (int i = 1; i <= 9; i += 2) 后,程序的输出结果一定不变。( )
A、正确
B、错误
31、(程序见第28题)当输入为 24 时,程序输出的第 3 行为( )。
A、23
B、29
C、31
D、239
32、(程序见第28题)下列关于该程序输出的说法中,正确的是( )。
A、输出的数一定按照从小到大的顺序排列
B、随着输入 n 的增大,输出的行数一定不会增加
C、输出的数的个位数字只可能是 3 或 7
D、输出的每个大于 10 的数,十进制下删去它的末位数字后得到的数一定是质数
33、(程序见第28题)当输入为 200 时,程序输出的行数为( )。
A、12
B、13
C、14
D、15
34、【完善程序(1) 进制转换】
给定 n, m,再给定一个 mn 进制下的数 A,其各个数位上的数按照从高位到低位的顺序给出,请将其转换为 n 进制,并同样按照从高位到低位的顺序输出。
输入第一行依次为 n、m 和 A 的位数 d,接下来 d 个数 a_d, a_{d-1}, …, a_1 从高位到低位描述各个数位上的数。
数据满足 2≤n,m≤10,1≤d≤18,0≤A<2^63,对于所有 1≤i≤d,0≤a_i<mn。
以下程序按"逐位除以 n"的方法完成进制转换。
34. ①处应填( )
A、b[j] * n
B、b[j] * m
C、b[j - 1] * n
D、b[j - 1] * m
35、(程序见第34题)② 处应填( )。
A、x * n
B、x
C、0
D、m
36、(程序见第34题)③ 处应填( )。
A、b[j] / m
B、b[j] % n
C、b[j] % m
D、b[j] / n
37、(程序见第34题)④ 处应填( )。
A、b[j] / m
B、b[j] % n
C、b[j] % m
D、b[j] / n
38、(程序见第34题)⑤ 处应填( )。
A、len > 0 && b[len - 1] == 0
B、len > 0 && b[0] == 0
C、len > 1 && b[len - 1] == 0
D、len > 1 && b[0] == 0
39、【完善程序(2) 平均分割】
给定一个长度为 n 的字符串,其中每个字符都是一个十六进制数位。例如,字符串 016A 表示十进制下的四个数 0、1、6、10。
选择 k 个分割位置 p_1, p_2, …, p_k,其中 1≤k<n,且 1≤p_1<p_2<…<p_k<n。令 p_0=0,p_{k+1}=n。
对于每个 0≤i≤k,计算第 p_i+1 个数到第 p_{i+1} 个数的平均值,记作 b_i。
目标是在所有分割方案中,使 b_0, b_1, …, b_k 中最大值与最小值之差尽可能小,并输出这个最小值。
其中 2≤n≤20;字符串只可能包含 0~9 与 A~F,均为大写字符;答案保留小数点后 6 位。
以下程序通过递归枚举所有可能的连续分段方案。
39. ①处应填( )
A. c - (c < '9' ? '0' : 'A' - 10)
B. c - (c < 'A' ? '0' : 'A' - 10)
C. c - (c < 'A' ? 'A' - 10 : '0')
D. c - (c < 'A' ? '0' : 'A' + 10)
40、(程序见第39题)② 处应填( )。
A. int r = l + 1; r <= n; ++r
B. int r = l; r < n; ++r
C. int r = l; r <= n; r += 2
D. int r = l; r <= n; ++r
41、(程序见第39题)③ 处应填( )。
A. sum / (r - l + 1) * 1.0
B. sum * 1.0 / (r - l) + 1
C. sum * 1.0 / (r - l + 1)
D. (sum - a[r]) * 1.0 / (r - l + 1)
42、(程序见第39题)④ 处应填( )。
A. r + 1, cnt + (r < n), min(mnb, nwb), max(mxb, nwb)
B. r + 1, cnt + (r <= n), min(mnb, nwb), max(mxb, nwb)
C. r + 1, cnt + (r < n), max(mnb, nwb), min(mxb, nwb)
D. r + 1, cnt + (r <= n), max(mnb, nwb), min(mxb, nwb)
43、(程序见第39题)⑤ 处应填( )。
A. 0, 0, 1e100, -1e100
B. 0, 0, -1e100, 1e100
C. 1, 0, -1e100, 1e100
D. 1, 0, 1e100, -1e100
关闭
更多问卷
复制此问卷