CSP-J 练习J卷

*
基本信息:
班级名称填写要求,如"801"、“808”、“701”
姓名:
姓名:
班级:
班级:
1) 以下与电子邮件无关的网络协议是()。
A.SMTP
B.POP3
C.FTP
D.MIME
2) 二讲制粉1111 0110 和 0000 1111进行逻辑异或运算的结果是()。
A.1111 1001
B.0000 0110
C.1111 1111
D.0000 1001
3) 布尔型变量占用()个比特位。
A.1
B.2
C.4
D.8
4) 以下程序段执行完毕后,i和s的值分别是()。

A.5和9
B.7和9
C.5和7
D.9和7
5) 已知有序表(13,18,24,35,47,50,62,83,90,115,134),当折半查找值为90的元素时,查找成功的比较次数为()。
A.5
B.2
C.3
D.4
6) 数组不具有的特点是()。
A.插入、删除不需要移动元素
B.可随机访问任一元素
C.是一块连续的内存空间
D.所需空间与线性长度成正比
7) 用冒泡排序的方法对一个长度为n的数据进行排序,平均时间复杂度为()。
A.O(n*n)
B.O(nlogn)
C.O(n)
D.O(sqrtn)
8) 由4个节点构成的形态不同的二叉树有()种。
A.16
B.14
C.20
D.10
9) 以下4个数中最大的素数是()。
A.91
B.89
C.119
D.93
10) 45和30的最小公倍数是() 。
A.30
B.45
C.90
D.180
11) 深度为k的二叉树,最多含有()个节点。
A.2k-1
B.2k
C.2^k-1
D.2^(k-1)
12) 字符串"abcab"本质不同的子串个数为()。(子串是指从原字符串取出一段连续的字符串,包括空串“”)
A.12
B.13
C.14
D.15
13) 十进制小数11.375对应的二进制数是()。
A.1011.011
B.1011.01
C.1101.101
D.1101.011
14) 一棵6节点二叉树的中序遍历为 ABDGECF,先序遍历为 DBACEGF.后序遍历为()。
A.DGBEFAC
B.ABGEFCD
C.GBEACFD
D.ABCDEFG
15) 当价格不变时,集成电路上可容纳的元器件的数目,约每隔18~24个月就增加一倍,性能也将提升一倍。提出该规律的是()。
A.图灵
B.诺贝尔
C.摩尔
D.冯·诺依曼

16) 若输入1 2 3,则输出3 2 1。( )
17) 若输入123456789012 2 3,将输出2 123456789012 123456789010。( )
18) 该程序中,头文件#include <iostream>可以改成#include <cstdio>。
19) 若输入10,20,30(逗号隔开),符合程序的输入要求。( )
20) 若输入10 20 30, 输出( )。
A.20 10 20
B.20 10 10
C.20 10 30
D.20 10 -10
21) 若将第10行的c=b-a 改成c=b,则输人3 6 9 ,输出( )。
A.6 3 6
B.6 3 9
C.6 3 3
D.3 6 3

22) 上述代码中,若将第13行修改为INF=1<<40,则输出结果一定不变。( )
23) 上述代码中 ,将第23行修改为 break 或 continue 这两种情况后,有相同的输入,在这两种情况下,输出结果也一定相同。( )
24) 上述代码中,将第23行修改为 break 后,有相同的输入,变量c的值和未修改的一定相同。( )
25) 上述代码中,将第23行修改为 break 后,有相同的输入,输出结果也一定相同。( )
26) 输人为:8 输出为 ( )
A.17
B.19回车over
C.19
D.23over
27) 上述代码中,上述代码中,将第6行的i<n修改为( )后功能不变,效率更高。
A.i*i<=n
B.i<n/2
C.i < n/3
D.i<n/4

28) 上述代码实现了对一个长度为 m*n 的二维数组寻找每一行上的最小值进行求和。( )
29) 上述代码如果删除第4行,其他地方的b数组都改成a数组,那么结果不变。( )
30) 若输人数据为:4 4 \n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则输出的结果为( )。
A.28
B.16
C.136
D.46
31) 上述代码的时间复杂度为( )
A.O(min(m,n))
B.O(m*n+m*n+m+n)
C.O(m*n)
D.O(m*n+m*n)
32) 我们将上述算法称为( )。
A.深度搜索
B.广度搜索
C.动态规划
D.贪心
33) 上述代码若删除第4行,其他地方的b数组都改成a数组,输人数据为: 3 3 \n 1 2 3 4 5 6 7 8 9 则输出的结果为( )。
A.20
B.12
C.11
D.21
请完善下面的程序,将1~9个数字分别填人3 X 3的九宫格中,第一行的三个数字组一个三位数。要使第二行的三位数是第一行的 2倍,第三行的三位 数是第一行的3倍,且每个格子里的数字都不能重复,现在要求输出所有的填充方案,以每种方案中的第一行组成的三位数升序输出。
输出格式:

每一种方案输出共三行, 每行中每两个数没有空格,每种方案输出后要输出一个空行。
最后一行一个数字,表示方案的总数。


34) ①处应填( )
A.s==n+1
B.s==n
C.s
D.s>=n
36) ③处应填( )
A.a[c]=i;
B.a[s]=i;
C.a[i]=s;b[c]=i;
D.b[s]=i;
37) ④处应填( )
A.f(i+1);
B.f(s+1);
C.f(c+1);
D.f(c+i+1);
38) ⑤处应填( )
A.a[s]=0;
B.f(s-D);
C.a[s]=i;
D.b[i]=0;
(拓扑排序)输人一张n节点m条边的有向图,用求该图的一个拓扑排序的方式判断该图是否存在有问环,若有拓扑排序输出拓扑排序,并输出“不存在有向环”,否则直接输出“存在有向环”。
输人:
第一行两个正整数n,m表示节点数和边数。
接下来m行,每行2个正整数x,y表示节点x->y之间有一条边。
输出:
一个拓扑序,按拓朴序输出点的编号,若拓扑序不唯一,输出任何一个均可,并输出“存在有向环”。若无拓扑序,直接输出“不存在有向环”


39) ①处应填( )
A.!cnt[i]
B.cnt[i]
C.cnt[i]=0
D.cnt[i]==1
40) ②处应填( )
A.q.push(v);
B.q.pop();
C.cnt[u]--;
D.cnt[v]--;
41) ③处应填( )
A.q.pop();
B.q.push(v);
C.tpc--;
D.tpc++;
42) ④处应填( )
A.tpc!=n
B.tpc==n
C.tpc==0
D.tpc!=0
43) ⑤处应填( )
A.cnt[x]++;
B.G[y].push(x)
C.cnt[y]++;
D.G[y].push_back(x)
问卷星提供技术支持
举报