2024CSP-J原创初赛模拟卷7

(认证时间:2023年9月16日 09:30~11:30)
*
基本信息:
姓名:
姓名:
班级:
班级:
学校:
学校:

一、单项选择题(每题只有一个正确选项,每题2分,共30分)

*
1. 在 C++ 中,下面哪个关键字用于声明变量时必须赋值()
A. double
B. long long
C. static
D. const
*
2. 阅读下面的代码,其中 sizeof(data) 的值是多少()
union Data{
           double a;
           int c;
           char d;
};
union Data data;
A.13
B. 10
C. 8
D. 4
*
3.下列设备中既可以作为输出设备,又可以作为输入设备的是 ()
A.触摸屏
B. 打印机
C. 鼠标
D. 显示器
*
4.十进制数 9.25 转换成四进制数是 ()
A.21.2
B. 21.1
C.12.1
D.12.2
*
5.下列关于栈与队列描述错误的是 ()。
A.只要确定了入栈次序,即可确定出栈次序
B.栈只允许在栈顶的一端进行入栈与出栈的操作
C.队列进行删除操作总是删除最早入队的元素
D.队列只允许在表的一端进行插入,而在表的另外一端进行删除的线性表
*
6.小明所在的年级有 10 个班级,学校现在要从这些班级中选出 12 名同学参加活动,每个班级至少选择 1 位同学出席活动,方案数是 ()
A.45
B.50
C.55
D.60
*
7.下列关于邻接表的描述正确的是 ()
A.对于稀疏图,邻接表存储造成存储空间的浪费
B.图邻接表表示方法唯一
C.求有向图顶点的入度需要遍历全部邻接表
D.在无向图的邻接表中,第 i 个顶点的度为第 i 个链表中结点数的两倍
*
8.在一个单链表中,已知 a 所指向的结点是 b 所指向结点的前驱结点,若在 a 和 b 之间插入一个结点 c,则执行 ()
A.a -> next = c; c -> next = b;
B.c -> next = b -> next; b -> next = c;
C.b -> next = c -> next; c -> next = b;
D.b -> next = c; c -> next = a;
*
9.计算机界的最高奖是 ()
A.诺贝尔奖
B. 奥斯卡奖
C. 菲尔兹奖
D. 图灵奖
*
10.在一棵度为 3 的树 T 中,若有 10 个度为 3 的结点,7 个度为 2 的结点,2个度为 1 的结点,树中的叶子结点个数为 ()
A.25
B. 26
C. 27
D. 28
*
11.下列关于树的说法正确的是 ()
A.一棵树有 n(n > 0) 个结点,则树中有 n - 1 条边
B.树的根节点至少有 1 个
C.一棵树的子树可以存在交集
D.森林是 m (m ≥ 0) 棵相交的树的集合
*
12.一棵度为 5 的树中,结点数为 36,这棵树的最小高度是 ()
A.3
B. 4
C. 5
D. 6
*
13.下列关于图的叙述中,正确的是 ()
A.强连通有向图的任何顶点到其它所有顶点都有弧
B.有向完全图一定是强连通有向图
C.图的任意顶点的入度等于出度
D.无向图一定是一棵树
*
14.下列关于排序算法的描述正确的是 ()
A.冒泡排序的时间复杂度为 O(n2),是一个不稳定的排序方法
B.选择排序的时间复杂度为 O(n2),是一个稳定的排序方法
C.快速排序在糟糕的情况下时间复杂度为 O(n2)
D.希尔排序是对选择排序算法的优化
*
15.从 () 年开始,NOIP 赛事不支持 Pascal 语言
A.2018
B.2020
C.2022
D.2023

二、程序阅读理解题(共3大题。程序输入不超过数组或字符串定义的范围,除特殊说明外,判断题1.5分,选择题3分,共计40分)

1. (12分)


l判断题

*
16.若程序输入 6,则最终输出 5。 ( )
*
17.将程序的第4行修改成 for(int i = 2; i <= n/i: i++) 后,程序的结果一定不会发生变化。 ( )(2分)
*
18.将程序的第 1 行修改成 #include <stdio.h> 程序的结果一定不会发生变化。( )
*
19.输入 20,则输出是什么? ()
A.17
B. 18
C.19
D.20
*
20.若将第 11 行修改成 res = res ^ n,输入 15,输出的是什么 ()
A.38
B. 26
C.50
D.68

2.(13.5分)


l判断题

*
21.若程序输入 20,则程序的第 35 行输出 6 4。 ( )
*
22.若程序第 21 行 j = g[cnt] 修改成 continue 程序的运行结果不会发生变化。 ( )
*
23.若程序输入 1024,第 35 行f[f[1024]] 的值为 97。 ( )
*
24.)该程序的时间复杂度是 ()
A.O(n)
B. O(nlogn)
C.O(n)
D. O(n2)
*
25.若程序输入 100,则程序输出()
A.25 15
B. 26 16
C.26 15
D.25 16
*
26.若程序第 33 行 tot 的值为 15 时,输入的 n 可能是 ()
A.50
B. 53
C.56
D.58

3.(14.5分)



假设程序输入的 n 和 m 保证不超过 100。

l判断题

*
27.若输入的 n 和 m 在合法数据范围内,只有当全部的数字为质数时,程序第 54 行的变量 maxn 的值为 1。 ( )
*
28.程序第 14 行的代码 k ≤ g/k 修改成 sqrt(g) 后程序的运行结果不会发生改变。 ( )
*

29.当程序输入的 n = 2, m = 2,紧接着输入

48  56

24  72

    程序的运行结果是 12。(   )

*
30.程序 solve 函数的时间复杂度是 ( )
A.O(n2)
B. O(nm sqrt(n)))
C. O(nm sqrt(g)))
D.O(nm sqrt(m)))
*
31(1)若程序输入

    3 3

12 4 9

6 12 2

8 6 12

程序的运行结果是(   )

A.3 4
B. 3 2
C.3 3
D. 3 3
*
32.(1)若程序的运行结果为3,则符合题意的输入是 (   )(4分)

A.3 4
B.3 2
C.3 3(96,12,9)
D.3 3(96,100,00)

三、程序完善题(共2大题,每个选择题3分,共计30分)

1.题目描述

花店有 n(n <= 500) 朵花束,每朵花束有自己的价格、新鲜度与美丽值(范围都在0~500的范围内),小明有 cj(0 <= cj <= 500) 元,小明用自己的钱购买一定数量的花束,要求购买的花束的新鲜度之和至少为 k(0 <= k <= 500) 的前提下最大美丽值是多少。

例如有 5 朵花束,小明有 10 元,期待花束的新鲜度之和至少为 10,第一朵花束到第五朵花束的价格、新鲜度与美丽值分别是:

2 4 5

4 3 3

1 3 2

3 4 3

3 2 5

小明在不超过 10 元的前提下保证购买花束的新鲜度之和至少为 10 的前提下,购买花束的最大美丽值之和为 15。


*
33.① 处应填 ()
A.x > y ? y : x
B.x < y ? x : y
C.x > y ? x : y
D. x >= y ? y : x
*
34.② 处应填 ()
A.0
B. c[i]
C. cj
D. 1
*
35.③ 处应填 ()
A.fr[i] < k
B.fr[i] <= k
C.fr[i] >= k
D.fr[i] > k
*
36.④ 处应填 ()
A.f[j - c[i]][k - fr[i]] >= 0
B.f[j - fr[i]][k - c[i]] >= 0
C.f[j - fr[i]][k - c[i]] > 0
D. f[j - c[i]][k - fr[i]] > 0
*
37.⑤ 处应填 ()
A.f[cj][fj]
B. f[n][fj]
C. f[n][cj]
D. f[fj][cj]

2..题目描述

一棵有 n 个结点的无根树,每个结点的编号从 1 到 n,这棵树有 n-1 条边,给出每条边连接的两个结点信息,如果某个结点可以成为根节点,问这棵树哪些结点可能是根结点,注意与根结点直接相连的结点,它们的子树大小都相同。

例如: n = 2

1 2

树中只有一条边,连接的结点是 1 和 2,根节点可能是 1,可能是 2,因此输出可能作为根节点是 1 2。



*
38.① 处应填 ()
A.0
B. 1
C. x
D. y
*
39. .② 处应填 ()
A.x == z
B. x != z
C. y == z
D. y != z
*
40.③ 处应填 ()
A.k == z
B. k == 0
C. k == x
D. k == y
*
41.④ 处应填 ()
A.k == d[z]
B. k == d[x]
C.k != d[z]
D.k != d[x]
*
42.⑤ 处应填 ()
A.d[x] == n
B. d[x] != n
C. n - k != d[x]
D. n - k == d[x]
问卷星提供技术支持
举报