#908. CSP-J初赛模拟试题5
CSP-J初赛模拟试题5
一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项)
1. 十进制数 2024的八进制表示是()。
{{ select(1) }}
- 3749
- 3750
- 3751
- 3752
2.以下关于计算机协会竞赛的描述正确的是()。
{{ select(2) }}
- NOI国家集训队每年产生4名选手代表中国参加IOI
- CSP-J/CSP-S是2018年开始举办的
- USACO 晋级白金的选手可以直接参加NOIP
- ACSL和NOIP都是CCF旗下的程序设计赛事
3.以下哪个可以用作 C++程序中的变量名?( )
{{ select(3) }}
- public
- loops
- new
- delete
4.以下哪个数据结构不属于线性结构?( )
{{ select(4) }}
- 栈
- 数组
- 树
- 链表
5.以下哪个属于 STL 函数?( )
{{ select(5) }}
- main
- sort
- freopen
- scanf
6.小明用递归的方法写了一个斐波那契数列的程序,在这里递归函数经常用到的数据( )
{{ select(6) }}
- 树
- 栈
- 链表
- 队列
7.堆排序程序运行的时间复杂度是( )
{{ select(7) }}
- O(logn)
- O(n)
- O(n*n)
- O(nlogn)
8.在下列排序算法中,()是稳定的排序算法。
{{ select(8) }}
- 归并排序
- 快速排序
- 选择排序
- 拓扑排序
9.一台32位操作系统的计算机运行C++,下面哪个说法是正确的?( )
{{ select(9) }}
- C++语言中的一个int类型的变量占8字节
- C++语言中的一个指针类型的变量占4字节
- C++语言中的一个bool类型的变量占2字节
- C++语言中的一个double类型的变量占4字节
10.设全集I={a,b,c,d,e,f,g,h},集合 B ∪ A={a,b,c,d,e,f},C ∩ A={c,d,e},~B ∩ A={a,d}那么集合C ∩ B ∩ A为()
{{ select(10) }}
- {c,e}
- {d,e}
- {e}
- {c,d,e}
11.在不大于19000的正整数中,与19000互质的正整数有()个。
{{ select(11) }}
- 9500
- 9498
- 7200
- 9499
12.假设 P=true,Q=false,R=true,S=true,逻辑运算表达式P ∧ Q V R ∧ S的值是( )
{{ select(12) }}
- true
- false
- null
- NIL
13.对于二叉树T,已知其前序遍历序列为1 2 4 3 5 7 6,中序遍历序列为4 2 1 5 7 3 6,则其后序遍历序列为( )。
{{ select(13) }}
- 4 2 5 7 6 3 1
- 4 2 7 5 6 3 1
- 4 2 7 5 3 6 1
- 4 7 2 3 5 6 1
14.一个口袋内装有大小相同的7个白球和2个黑球,从口袋中取出3个球,使其中不含黑球,有多少种取法?( )。
{{ select(14) }}
- 32
- 35
- 24
- 56
15.在下图中,从顶点( )出发存在一条路径可以遍历图中的每条边一次,而且仅遍历一次。。
{{ select(15) }}
- B点
- A点
- E点
- C点
二、阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 A,错误填 B ;除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)
(1)
判断题:
16.将第6行中的i=2改为i=1,程序的运行结果不会改变。( )
{{ select(16) }}
- A
- B
17.将第9行中的x%i!=0去掉,程序的运行结果不会改变。( )
{{ select(17) }}
- A
- B
18.将第18行删除,程序的运行结果不会改变。( )
{{ select(18) }}
- A
- B
19.将第31行删除,程序的运行结果不会改变。( )
{{ select(19) }}
- A
- B
选择题:
20.若输入数据为1949 2024,则输出为( )
{{ select(20) }}
- 1949,1987
- 1949.1979
- 1951,1979
- 1951,1987
21.若输出为NO,则输入可能为()。
{{ select(21) }}
- 168 180
- 785 792
- 999 1020
- 2024 2050
(2)
判断题:
22.将第7行删除,程序的运行结果不会改变( )
{{ select(22) }}
- A
- B
23.将第9行中的s.size()改为s.length(),程序的运行结果不会改变。 ( )
{{ select(23) }}
- A
- B
24.将第10行s[len]=' '改为s[len]= 32,程序的运行结果不会改变。 ( )
{{ select(24) }}
- A
- B
25.将第 20 行删除,程序的运行结果不会改变( )
{{ select(25) }}
- A
- B
选择题:
26.若输入CCF CSP,则输出为( )
{{ select(26) }}
- FCC PSC
- CCF CSP
- PSC FCC
- PSC CCF
27.将第19行中的--pos改为pos--,输入CCF CSP,则输出为( )
{{ select(27) }}
- PS FC
- CF SP
- FC PS
- CC SC
(3)
判断题:
28.若将第3行替换为const int N=1000010,程序的运行结果不会改变。( )
{{ select(28) }}
- A
- B
29.若将第8行删除,程序的运行结果不会改变。( )
{{ select(29) }}
- A
- B
30.若将第15行中的 tot++替换为++tot,程序的运行结果不会改变。( )
{{ select(30) }}
- A
- B
31.将第 21行和第 22行交换,程序的运行结果不会改变。。( )
{{ select(31) }}
- A
- B
选择题:
32.本程序中的算法用到了()的思想。
{{ select(32) }}
- 贪心
- 搜索回溯
- 二分
- 动态规划
33.若输入2 24 36,那么输出结果是( )
{{ select(33) }}
- 7 9
- 7 8
- 8 9
- 8 8
34.(4分)若输人2 96 2024,那么输出结果是( )
{{ select(34) }}
- 18 20
- 18 21
- 19 20
- 19 21
三、完善程序(单选题,每小题 3 分,共计 30 分)
(1) 给定两个正整数1和r,求区间[1,r]内素数的个数。如下代码是一个经典的计算过程请将程序补充完整。
输入格式:
第1行有两个整数,分别代表询问次数n和给定区间的右端点最大值m。接下
来n行,每行两个整数1和r,代表一次查询。
输出格式:
对于每次查询输出一行,若l,r∈[1,m],则输出区间内素数的个数,否则输出
Crossing the line.
输人样例:
2 5
1 3
1 6
输出样例:
2
Crossing the line
35.①处应填( )
{{ select(35) }}
- i <= m
- i*i<=m
- i<= n
- i * i <= n
36.②处应填( )
{{ select(36) }}
- int j= 1
- int j= 2
- int j= i
- int j= i*i
37.③处应填( )
{{ select(37) }}
- is_prime[j]= true
- is prime[i]= true
- is_prime[j]= false
- is_prime[i]= false
38.④处应填( )
{{ select(38) }}
- sum[i]++
- sum[i]+= sum[i-1]
- sum[i]=sum[i-1]
- sum[i]=sum[i-1]+1
39.⑤处应填( )
{{ select(39) }}
- sum[r+1]- sum[l]
- sum[r+1]-sum[l-1]
- sum[r]- sum[l-1]
- sum[r]- sum[l]
(2)
N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。合唱队形是指这样的一种队形:
设K位同学从左到右依次编号为1,2,…,K,他们的身高分别为 ,则他们的身高满足足。
你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。
输入格式:
输人的第1行是一个整数N,表示同学的总数。
第2行有N个整数,用空格分隔,第i个整数T是第i位同学的身高(厘米)。
输出格式:
输出包括一行,这一行只包含一个整数,就是最少需要几位同学出列。
数据范围:。
输人样例:
8
186 186 150 200 160 130 197 220
输出样例:
4
40.①处应填( )
{{ select(40) }}
- f[i]=1
- f[i]=0
- g[i]= 1
- g[i]= 0
41.②处应填( )
{{ select(41) }}
- h[j]<= h[i]
- h[j]< h[i]
- h[j] >= h[i]
- h[j]> h[i]
42.③处应填( )
{{ select(42) }}
- j >= i
- j >= 0
- j > i
- j >0
43.④处应填( )
{{ select(43) }}
- g[i]=max(f[i],f[j]+1)
- g[i]= max(f[i], g[j]+1)
- g[i]=max(g[i],f[j]+1)
- g[i]= max(g[i], g[j]+1)
44.⑤处应填( )
{{ select(44) }}
- ans=max(ans,f[i]+g[i]-1)
- ans=max(f[i],g[i]-1)
- ans=max(ans,f[i]+g[i])
- ans=max(g[i],f[i]-1)
相关
在下列比赛中: