乔斯2024 CSP-J 初赛模拟赛(二)
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
一、单选题(共 15 题,每题 2 分,共计 30 分)
- 计算机存储数据的基本单位是( )。
{{ select(1) }}
- bit
- Byte
- GB
- KB
- 在下列关于计算机语⾔的说法中,正确的有( )。
{{ select(2) }}
- 在 C++ 语⾔中,表达式 23|2^5 的值是( )
{{ select(3) }}
- 18
- 1
- 23
- 32
4.1 GB 等于( )
{{ select(4) }}
- 1000MB
- 1024×1024 KB
- 1024 KB
- 1000 KB
5.在⼀棵⼆叉树上第5层(根结点为第⼀层)的结点数最多是( ) {{ select(5) }}
- 16
- 15
- 32
- 31
6.计算机如果缺少( ),将⽆法正常启动。 {{ select(6) }}
- 内存
- ⿏标
- U 盘
- 摄像头
7.( )是⼀种先进先出的线性表。
{{ select(7) }}
- 栈
- 队列
- 哈希表(散列表)
- ⼆叉树
8.⼗六进制数9A 在( )进制下是232。 {{ select(8) }}
- 四
- ⼋
- ⼗
- ⼗六
9.使⽤冒泡排序对序列进⾏升序排列,每执⾏⼀次交换操作系统将会减少1个逆序对,因此序列5,4,3,2,1需要执⾏( )次操作,才能完成冒泡排序。 {{ select(9) }}
- 0
- 5
- 10
- 15
10.)就是把⼀个复杂的问题分成两个或更多的相同类似的⼦问题,再把⼦问题分解成更⼩的⼦问题……直到最后的⼦问题可以简单地直接求解。⽽原问题的解就是⼦问题解的并。
{{ select(10) }}
- 动态规划
- 贪⼼
- 分治
- 搜索
11.已知⼀棵⼆叉树有10 个节点,则其中⾄多有( )个节点有2 个⼦节点。
{{ select(11) }}
- 4
- 5
- 6
- 7
12.设有100 个数据元素,采⽤折半搜索时,最⼤⽐较次数为( )。
{{ select(12) }}
- 6
- 7
- 8
- 10
13.计算机界的最⾼奖是( )。
{{ select(13) }}
- 菲尔兹奖
- 诺贝尔奖
- 图灵奖
- 普利策奖
14.设简单⽆向图G 有16 条边且每个顶点的度数都是2,则图G 有( )个顶点。
{{ select(14) }}
- 10
- 12
- 8
- 16
15.设A 和B 是两个长为n 的有序数组,现在需要将A 和B 合并成⼀个排好序的数组,任何以元素⽐较作为基本运算的归并算法在最坏情况下⾄少要做( )次⽐较。
{{ select(15) }}
- n2
- nlogn
- 2n
- 2n−1
二.阅读程序(判断题1.5分,选择题3分,共计40分)
判断题
1).若第6⾏st[i]改为i<strlen(st)结果不会改变()
{{ select(16) }}
- √
- ×
2).若第7⾏ && 改为 || 结果会改变()
{{ select(17) }}
- √
- ×
3).若输⼊QuanGuoLianSai这串字符串,那么会输出RuanHuomiantai()
{{ select(18) }}
- √
- ×
4).若第6⾏++i改为i++结果会改变()
{{ select(19) }}
- √
- ×
单选题
5).若输⼊数据NiHao,那么输出的结果为()
{{ select(20) }}
- OIIAO
- OiIao
- oiiao
- oIiAO
6).若输⼊数据JOYSKID,那么输出结果为()
{{ select(21) }}
- KPZTLJE
- INXRJHC
- kpztlje
- inxrjhc
判断题
1).若第14⾏t的类型声明从int改为double,结果不会改变() {{ select(22) }}
- √
- ×
2).将第 18、19 ⾏的 / sqrt(t) / 2替换为/ 2 / sqrt(t),结果不会改变() {{ select(23) }}
- √
- ×
3).将第 20⾏中的 x * x 改成 sq(x)、y * y 改成 sq(y),不会影响程序运⾏的结果
() {{ select(24) }}
- √
- ×
4).当输⼊为 0 0 0 1 1 0 0 1 时,输出为 1.3090 () {{ select(25) }}
- √
- ×
单选题
5).当输⼊为 1 1 1 1 1 1 1 2 时,那么输出的结果为() {{ select(26) }}
- 3.1416
- 6.2832
- 4.7124
- 4.1888
6)当输⼊为 1 2 1 3 1 1 1 2 时,那么输出的结果为() {{ select(27) }}
- 33.1416
- 33.5103
- 36.2832
- 34.7124
判断题
1).sum[i][j] 的值(1<j<i≤1000)不⼩于 sum[i-1][j-1] 的值。( ) {{ select(28) }}
- √
- ×
2).若将第 12 ⾏改为 A[i][j]=(A[i-1][j]+A[i-1][j-1]+MOD)%MOD;程序的运⾏的结果不变。( ) {{ select(29) }}
- √
- ×
单选题
3).A[i][j](1≤i≤10,1≤j≤10)的所有元素中,最⼤值是( ) {{ select(30) }}
- 126
- 276
- 252
- 210
4).若输⼊数据为 1/5 3(其中“/”为换⾏符),则输出为( )
{{ select(31) }}
- 10
- 35
- 50
- 24
5).若输⼊数据为 2/4 6/7 8(其中“/”为换⾏符),则输出为()
{{ select(32) }}
- 21/234
- 26/247
- 234/21
- 247/26
6).若输⼊数据为 1/3 1(其中“/”为换⾏符),则输出为()
{{ select(33) }}
- 1
- 3
- 5
- 6
三、完善程序
(1)下⾯程序的功能是将字符串中的数字字符删除后输出
试补全程序。
1).①处应填( )。
{{ select(34) }}
- &&
- ||
- !
- ==
2).②处应填( )。 {{ select(35) }}
- i++
- j
- i
- j++
3).③处应填( )。 {{ select(36) }}
- i++
- j
- i
- j++
4).④处应填( )。 {{ select(37) }}
- struct
- class
- default
- const
5).⑤处应填( )。 {{ select(38) }}
- s
- s[i]
- s[]
- s[len]
2.某课作业布置了N(3≤N≤100000) 个题⽬,第i 题对应的得分是ai。作业的总得分的计算⽅式为去掉作业中得分最⼩的⼀个题,剩下其它所有题⽬得分的平均值。但很不幸⼩ A 遇到了⼀场⽕灾,前K(1≤K≤N−2)个题⽬被烧了,⽆法记录得分。⼩A想知道,K是多少时,可以得到最⾼的作业得分?作业被烧了前K页,这时的得分是从第K+1页到最后⼀页中,去除最⼩得分后取平均值。 输⼊第⼀⾏是整数N,第⼆⾏是n个不超过10000的⾮负整数表⽰ai。 输出⼀⾏,若⼲个整数表⽰答案。如果有多个K,请依次升序输出。
1).①处应填( )。 {{ select(39) }}
- sum=n
- sum=s[1]
- sum=s[n]
- sum=0
2).②处应填( )。 {{ select(40) }}
- sum=maxAverage*(n-i)
- sum+=s[i]
- sum+=s[n-i]
- sum=s[i]+minScore
3).③处应填( )。 {{ select(41) }}
- (double)(sum+minScore)/(n-i)
- sum*1.0/(n-i)
- (int)(sum-minScore)/(n-i)
- (double)(sum-minScore)/(n-i)
4).④处应填( )。
{{ select(42) }}
- k[++cnt]=i;
- k[cnt++]=i-1
- cnt=1;k[cnt]=i-1;
- cnt=0;k[cnt]=i;
5).⑤处应填( )。
{{ select(43) }}
- k[cnt++]=i;
- k[++cnt]=i-1;
- k[cnt++]=n-i;
- k[cnt]=i;