2026年信奥赛CSP-J初赛真题试卷,答案解析!

四季读书网 4 0
2026年信奥赛CSP-J初赛真题试卷,答案解析!
1、下列 C++ 数据类型中,能够精确存储 10¹⁸+1 这个整数的是( )A.floatB.long longC.doubleD.int2、十六进制数 2F5 转换为八进制数是( )A.1364B.1635C.1405D.13653、执行下列 C++ 代码,输出是( )int a = 7, b = 3;std::cout << a / b * b + a % b;A.9B.10C.7D.64、初始时栈为空,将 1、2、3、4 依次入栈,入栈过程中允许随时出栈。下列出栈序列中不可能出现的是( )A.2,4,3,1B.1,2,3,4C.3,1,2,4D.1,4,3,25、一棵有 100 个结点的完全二叉树,其叶子结点个数是( )A.49B.50C.64D.516、执行下列代码后 s 的值是( )int s = 0;for (int i = 1; i <= 100; i++)   if (i % 3 == 0 || i % 5 == 0)      s += i;A.3048B.2733C.2318D.24187、上楼梯每步可上 1 级、2 级或 3 级,从地面(可视为第 0 级)走到第 8 级台阶共有多少种不同走法( )A.44B.121C.149D.818、下图为 5×5 网格,行号、列号均从 0 开始,# 为障碍,. 为可通行格;从 S 出发做广度优先搜索(BFS):初始时把 S 入队;每次取出队首格子,按 上、下、左、右(上 = 行号减 1,下 = 行号加 1,左 = 列号减 1,右 = 列号加 1)的顺序遍历它的四个相邻格子,越界、障碍或已访问的格子跳过,其余格子标记为已访问并入队。当 E 第一次入队时,已经入队过的格子(含 S 和 E)共有多少个( )S..#....#....#.##..E...#.A.15B.12C.14D.139、满足 1≤n≤100 且 gcd(n,60)=6 的正整数 n 共有多少个( )A.8B.6C.4D.510、某国硬币面值为 1 元、4 元、6 元且数量不限,凑出 9 元最少需要多少枚( )A.3B.4C.5D.211、执行下列代码,输出是( )int a[5] = {1, 3, 5, 7, 9};int *p = a + 2;*(p - 1) = p[0] + p[2];p[1] = *(a + 1) - a[0];cout << a[1] << "," << a[3];A.14,13B.8,13C.14,7D.14,212、在含 1000 个互不相同元素的升序数组中,用二分法查找给定值(返回元素位置或报告不存在),最坏情况下需要与数组元素比较多少次( )A.500B.9C.11D.1013、数组 a[1..n] 的前缀和数组 s(即 s[i]=a[1]+a[2]+…+a[i])满足 s[i]=3i²+i。则 a[10] 的值是( )A.252B.310C.58D.6114、数轴上有 7 个点,坐标分别为 1, 3, 4, 7, 10, 15, 20。在数轴上选取一个整数坐标点 P,使 P 到这 7 个点的距离之和最小,这个最小距离和是( )A.37B.42C.40D.3815、一个无向图有 10 个顶点,其中 4 个顶点的度为 3,其余顶点的度均为 4,则该图的边数是( )A.36B.18C.17D.20阅读程序(1)

假定输入的 n 为不超过 2³¹−1 的非负整数,完成下面的判断题和单选题。

2026年信奥赛CSP-J初赛真题试卷,答案解析!-第1张图片-四季读书网

16、当输入为 3 时,程序输出为 3 3 ( )A.正确B.错误
17、将第 11 行的 ++x; 删除后,程序输出的两个数一定相等。( )A.正确B.错误18、假设输入为非负整数,则程序输出的第一个数一定不小于第二个数。( )A.正确B.错误19、将第 7 行的 while (n > 0) 改为 while (n >= 0) 后,程序可能出现的问题是( )A.陷入死循环B.输出结果比原来大C.输出结果比原来小D.输出结果不受影响20、当输入为 6 时,输出为( )A.3 3B.4 2C.4 3D.5 221、若输入 n 依次取遍 0, 1, 2, …, 2³¹−1 中的所有整数,则程序输出的第二个数恰好为 2 的次数为( )A.16B.30C.31D.32阅读程序(2)

本题输入的两个数均为非负整数,位数不超过 100000,可能包含前导零。完成下面的判断题和单选题。

2026年信奥赛CSP-J初赛真题试卷,答案解析!-第2张图片-四季读书网
22、当输入为 "123 456" 时,程序输出为 0579 ( )A.正确B.错误
23、假设输入的两个数均不含前导零,则程序输出的结果也一定不会含有前导零 ( )A.正确B.错误24、将第 21 行改为 c[i]=a[i]+b[i]; 后,程序输出的结果一定比原来的结果小 ( )A.正确B.错误25、当输入为 "12345 678" 时,输出为( )A.012923B.013023C.13023D.13023026、将第 22 行的 if (c[i]>=10) 改为 if (c[i]>10) 后,当输入为 "95 15" 时,输出为( )A.01010B.110C.140D.141027、假设输入的两个数均为 N 位正整数(不含前导零),且它们的和小于 10ᴺ,则程序输出的字符串一定满足( )A.第一个字符一定不为 '0'B.长度一定为 nC.长度一定为 n+1,且第一个字符为 '0'D.长度可能为 n+2阅读程序(3)

完成下面的判断题和单选题。

2026年信奥赛CSP-J初赛真题试卷,答案解析!-第3张图片-四季读书网
28、当输入为 10 时,程序的输出共有 10 行 ( )A.正确B.错误
29、若输入的 n 不大于 5,则程序的输出中一定包含 5 ( )A.正确B.错误30、若输入的 n 大于 10,将第 17 行的 for (int i=0;i<=9;i++) 改为 for (int i=1;i<=9;i++) 后,程序的输出结果一定不变 ( )A.正确B.错误31、当输入为 24 时,程序输出的第 3 行为( )A.23B.29C.31D.23932、下列关于该程序输出的说法中,正确的是( )A.输出的数一定按照从小到大的顺序排列B.随着输入 n 的增大,输出的行数一定不会增加C.输出的数的个位数字只可能是 3 或 7D.输出的每个大于等于 10 的数,十进制删去它的末位数字后得到的数一定是质数33、当输入为 200 时,程序输出的行数为( )A.12B.13C.14D.15完善程序(进制减半)

给定 n, m 进制下的数 A,其各个数位上的数按照从高位到低位的顺序给出,请你将其转化为 n 进制,并同样按照从高位到低位的顺序输出。

输入的第一行依次为 n, m 和 A 的位数 d,接下来 d 个数 ad, ad-1, …, a1 从高位到低位描述各个数位上的数。数据满足:2≤n,m≤10,1≤d≤18,0≤A<2⁶³,对于所有 1≤i≤d,0≤ai<m·n。

以下程序按 逐位除以 n 的方法完成进制转换,试补全程序。

2026年信奥赛CSP-J初赛真题试卷,答案解析!-第4张图片-四季读书网
34、① 处应填( )A.b[j] * nB.b[j] * mC.b[j - 1] * nD.b[j - 1] * m
35、② 处应填( )A.x * nB.xC.0D.m36、③ 处应填( )A.b[j] / mB.b[j] % nC.b[j] % mD.b[j] / n37、④ 处应填( )A.b[j] / mB.b[j] % nC.b[j] % mD.b[j] / n38、⑤ 处应填( )A.len > 0 && b[len - 1] == 0B.len > 0 && b[0] == 0C.len > 1 && b[len - 1] == 0D.len > 1 && b[0] == 0完善程序(平衡分割)

给定一个长度为 n 的字符串,其中每个字符都是一个十六进制数位。例如,字符串 "016A" 表示十进制下的四个数 0, 1, 6, 10。

现在请选择 k 个(k 是你选定的数)切分位置 p1, p2, …, pk,其中 1≤k<n,且 1≤p1<p2<…<pk<n。再令 p0=0,pk+1=n。

对于每个 0≤i≤k,计算第 pi+1 个数到第 pi+1 个数的平均值,记作 bi。你的目标是使 b0, b1, …, bk 中最大值与最小值之差尽可能小,并输出这个最小值。

其中 2≤n≤20。输入字符串中的字符只可能是 0~9 或 A~F。本题假定字符采用 ASCII 编码。输出答案时保留小数点后 6 位。

以下程序通过递归枚举所有可能的连续分段方案,试补全程序。

2026年信奥赛CSP-J初赛真题试卷,答案解析!-第5张图片-四季读书网
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、② 处应填( )A.int r = l + 1; r <= n; ++rB.int r = l; r < n; ++rC.int r = l; r <= n; r += 2D.int r = l; r <= n; ++r41、③ 处应填( )A.sum / (r - l + 1) * 1.0B.sum * 1.0 / (r - l) + 1C.sum * 1.0 / (r - l + 1)D.(sum - a[r]) * 1.0 / (r - l + 1)42、④ 处应填( )A.r + 1, cnt + (r < n), min(smb, nwb), max(mxb, nwb)B.r + 1, cnt + (r <= n), min(smb, nwb), max(mxb, nwb)C.r + 1, cnt + (r < n), max(smb, nwb), min(mxb, nwb)D.r + 1, cnt + (r <= n), max(smb, nwb), min(mxb, nwb)43、⑤ 处应填( )A.0, 0, 1e100, -1e100B.0, 0, -1e100, 1e100C.1, 0, -1e100, 1e100D.1, 0, 1e100, -1e100
答案速查

抱歉,评论功能暂时关闭!