求了,别只看不点赞关注,作者需要鼓励
所有题(附答案)
一、选择题
1. ( )是C++的关键字。
A key
B repeat
C void
D var
答案:C
2. 在8位二进制补码中,10110110表示的是十进制下的( )。
A 202
B 74
C -202
D -74
答案:D
3 . 2019年10月14日是星期 一 ,1978年10月14日是( )。
A 星期日
B 星期五
C 星期一
D 星期六
答案:D
4. 图G是一颗n节点的树, G上有( )条边。
A n
B 2n
C n-1
D n+1
答案:C
5. 具有5个记录的序列,采用直接选择排序的方式进行排序,需要比较的次数是( )次。
A 8
B 9
C 10
D 11
答案:C
6. 有一个长为5的A序列:{3,20,4,6,1},现通过进行交换其中相邻两个数字的操作进行排序要将A序列排成从小到大的递增序列最少要进行( )次交换操作。
A 5
B 6
C 7
D 15
答案:B
7. 7^4和7&4的结果分别为( )。
A 3 4
B 4 4
C 3 3
D 4 3
答案:A
8. 在C++中 ,使用 ( )定义一个数组。
A int a[ ] ;
B int a{10} ;
C int a[10] ;
D int a(10) ;
答案:C
9. 一张有9个节点的简单无向图最多有( )条边。
A 40
B 81
C 72
D 36
答案:D
10. 下图中所使用的数据结构是( )。
A 哈希表
B 栈
C 队列
D 二叉树
答案:B
11.G 是一张有n个点m条边的连通图,必须删去( )条边才可能将其变成一颗n结点的树。
A 1
B m-n-1
C m+n-1
D m+n+1
答案:D
12. 字符串"abcab"本质不同的连续子串(不包含空串)个数为( )。
A 15
B 14
C 13
D 12
答案:D
13. 十进制小数13.375对应的二进制数是( )。
A 1101.011
B 1011.011
C 1101.101
D 1010.01
答案:A
14. 在一个班级里,有10个男生和8个女生。如果要从中选出一支由3个人组成的代表团,其中至 少有1个女生,那么有( )种不同的选择方案。
A 520
B 696
C 816
D 752
答案:B
15. 一家三口人,恰有两人生日在同一天的概率是( )。(假设每年都有365天。)
A 1/365
B 365/(364X365)
C (3X364)/(365X365)
D 1/12
答案:C
二、阅读程序
判断题16. 若 输 入 3 9 1 , 则 输 出 9 3 3 。( )
答案:×
判断题17. 若输入12300400000 3 7,将 一 定能输出3 1230040000 3。( )
答案:×
判断题18. 该程序中,头文件#include<iostream> 可以改成#include<cstdio> 。( )
答案:×
19. 若 输 入 3 6 9 , 输 出 ( )。
A 6 3 6
B 9 3 3
C 6 9 3
D 6 3 3
答案:A
20. 若将"c=a"改成"c=t",则 若 输 入 3 6 9 , 输 出 ( ) 。
A 6 3 6
B 9 3 3
C 6 9 3
D 6 3 3
答案:A
21. 若将"c=a"改成"c=b",则 若 输 入 3 6 9 , 输 出 ( )。
A 6 3 6
B 9 3 3
C 6 9 3
D 6 3 3
答案:D
判断题22. 上述代码中,双重循环里循环变量 j 的枚举顺序改为从 w[i] 到 m, 输出结果一定不变 ( )
答案:×
判断题23. 上述代码中,双重循环中变量i的枚举顺序改为从n到1,输出结果一定不变。 ( )
答案:√
判断题24. 若输入数据中,1<=n,m,w[i],d[i]<=30000, 则所求答案一定没有溢出。( )
答案:√
选择题25. 当m等于所有w[i]的和时,输出结果为( )。
A 所有d[i]的和
B 最大的d[i]值的n倍
C 最大的d[i]值的m倍
D nm
答案:A
选择题26 . 当输入为
4 6
1 4
2 6
3 12
2 7
输出为( )。
A 17
B 28
C 29
D 23
答案:D
选择题27. 上述代码的时间复杂度为( )。
A O(n)
B O(n*n*m)
C O(n*m)
D On*m*m)
答案:C
判断题28. 上述代码实现了对一个长度为n的序列进行排序。( )
答案:√
判断题29. 去掉头文件"#include<cstdio>" 后程序仍能正常编译运行。 ( )
答案:√
判断题30. 去掉"using namespace std;"后程序仍能正常编译运行。 ( )
答案:×
选择题31. 我们将上述算法称为( )。
A 插入排序
B 冒泡排序
C 选择排序
D 归并排序
答案:C
选择题32. 上述代码的时间复杂度为( )。
A O(n)
B O(n log n)
C O(n^2)
D O(n^3)
答案:C
选择题33. 若输入数据为:
5
3
2
1
5
4
则if(a[j]<a[tmp])这句话中的条件会成立( )次(即后面的 tmp=j 会执行多少次)。
A 5
B 7
C 3
D 4
答案:C
三、完善程序
第一题:
(下一个全排列)输入一个正整数n(2<=n<=106), 以及一个长度为n 的排列,规定 (1,2,3,4,…,n) 是第1个排列,(n,n-1,…,1) 是最后一个排列。
根据这n 个数组成的排列,输出下一个排列,每一个数后输出一个空格;若这n 个数已经 是最后一个排列,输出"No NextPermutation"。
输入:
5
1 2 5 4 3
输出:
1 3 2 4 5
试补全程序。
34. (1)处应填( )。
A a[i]<a[i-1]
B a[i+1]<a[i]
C a[i] > a[i-1]
D a[i+1]>a[i]
答案:A
35. (2)处应填( )。
A. b[num]=a[i-2]
B. b[num+1]=a[i- 1]
C.b[num+1]=a[i]
D. b[num]=a[i- 1]
答案:A
36. (3)处应填( )。
A. num++
B. mid=0
C. mid--
D. cout<<"No Next Permuation"
答案:D
37. (4)处应填( )。
A. b[i]>b[mid]
B. b[i]<b[mid]
C. b[i]<b[num]
D. b[i]>b[num]
答案:A
38. (5)处应填( )。
A. cout<<b[i+1]<<" "
B.cout<<b[num i]<<" "
C. cout<<b[i- 1]<<" "
D.cout<<b[i]<<" "
答案:D
第二题:
(拓扑排序)给出一张 n 个节点 m 条边的有向图,求出该图的一个拓扑排序,若无拓扑排 序输出-1。
输入:第一行两个正整数n,m 表示点数与边数。
接下来m行,每行两个正整数x,y; 表示节点x到节点y之间有一条有向边。
一个拓扑序,按拓扑序输出点的编号。若拓扑序不唯一,输出任意一个均可。若无拓扑序, 输出-1。
关于拓扑序的例子,如学校里有A、B、C、D四门课程,要求课程 B、C必须在学习课程A之后才能学习,课程D 必须在学习课程B、C 之后学习。则序列A B C D与序列A C B D均是合理的拓扑序,而序列A B D C与序列 B A C D 等均不是拓扑序。即在安排某课程时,其前置课程必须全部学习完毕。
试补全程序。
39. (1)处应填( )。
A. du[i]
B. q[i]
C. hd<=t1
D. !du[i]
答案:D
40. (2)处应填( )。
A. i<=n
B. i<n
C. i<G.size()
D. i<=G.szie()
答案:C
41. (3)处应填( )。
A. q[++tl]=v
B. q[tl++]=V
C. q[++hd]=V
D. q[hd++]=v
答案:A
42. (4)处应填( )。
A. G[y].push_back(x)
B. G[x].push_back(y)
C. G[x].push(y)
D. G[y].push(x)
答案:B
43. (5)处应填( )。
A. G[y].push_back(x)
B. G[y].push(x)
C. du[y]++
D. du[x]++
答案:C
我的错题
14.解析:需要学会排列组合,这一题是分类讨论,即可算出 696 的结果。
17.解析:1230040000超出了int的范围,是×的。
23.解析:很明显改变第一重循环后,第二重循环没有影响。
25.解析:背包问题,算一下即可。
26.解析:模拟即可。
29.解析:有了包含这个头文件功能的头文件。
32.解析:直接看即可。
34.解析:模拟即可。
37.解析:联合34、36来看。
39.解析:画图+模拟。
40.解析:画图+模拟。
41.解析:画图+模拟。
43.解析:画图+模拟。
最后
制作不易,点个赞吧!!!
制作不易,点个赞吧!!!
制作不易,点个赞吧!!!