2023年粤港澳信息学创新大赛【C++小学组】初赛[复制]

您的姓名:
一、单选题(一共15题,每题2分)
1、()是C++的关键字
2.在8位二进制补码中,10110110表示的是十进制下的()。
3、3.2019年10月14日是星期一,1978年10月14日是()。
4.图G 是一棵n 节点的树,G 上有()条边。
5.具有5个记录的序列,采用直接选择的排序方式进行排序,需要比较的次数是()次。
6.有一个长为5的A序列:{3,20,4,6,1},现通过交换其中两个相邻数字的操作进行排序,要将 A序列排成从小到大的递增序列最少要进行()次 交换 操 作。
7.7^4和7&4的结果分别为()。
8.在C++ 中,使用()定义 - 个数组.
9.一张有9个节点的简单无向图最多有()条边。
10.下图中所使用的数据结构是()。

11.G 是一张有n 个 点、m 条边的连通图,必须删去()条边才可能将其变成一棵有n 个节点的树。(n<=m)
12.字符串“abcab"本质不同的连续子串(不包含空串)个数为()。
13.十进制小数13.375对应的二进制数是()。
14.在一个班级里,有10个男生和8个女生。如果要从中选出一支由3个人组成的代表团,其中至少 有1个女生,那么有()种不同的选择方案。
15.一家三口人,恰有两人在同一天生日的概率是()(假设每年都有365天)
二、阅读程序题(一共3题,共40分)(程序输入不超过数组或字符串定义的范围;判断题正确在答题卡上涂“A”,错误涂“B”;除第16题1分外,判断题每题1.5分,选择题每题3分,共计40分)
第一题

16.若输入3 9 1,则输出9 3 3()
17.若输入12300400000 3 7,将一定能输出3 12300400000 3。()
18.该程序中,头文件#include<iostream>可以改成#include< cstdio>。()
19.若输入3 6 9,则输出()。
20.若将“c=a"改成“c=t”则若输入 3 6 9,输出()。
21.若将“c=a”改成“c=b”,则若输入3 6 9,输出()。
第二题


22.上述代码中,双重循环里循环变量j的枚举顺序改为从 w[i]到 m,输出结果一定不变。
23.上述代码中,双重循环中变量i的枚举顺序改为从n到1,输出结果一定不变。
24.若输入数据中,1<=n,m,w[i],d[i]<=30000,则所求答案一定没有溢出。
25.当m等于所有w[i]的和时,输出结果为()
26.当输入为:
4 6
1 4
2 6
3 12
2 7
输出为()。
27上述代码的时间复杂度为()。
第三题


29.去掉头文件“#incude<cstdio>”后程序仍能正常编译运行。
30.去掉“using namespace std;”后程序仍能正常编译运行。
31.我们将上述算法称为()。
若输人数据为:
5
3
2
1
5
4
则 if(a[i]<a[tmp])这句话中的条件会成立()次(即后面的 tmp-j会执行多少次)
28.上述代码实现了对一个长度为n的序列进行排序。
三、完善程序(单选题,共两大题,每大题15分,每小题3分,共计30分)
第一题
(下 一个全排列)输入 一个正整数n(2≤n≤106),以及 一个长度为n 的排列,规定(1,2,3,4,…,n)是第1个排列,(n,n-1..1)是最后 一个排列。
根据这n个数组成的排列,输出下一个排列,每一个数后输出一个空格;
若这n个数已经是最后一个 排列,输出“No Next Permutation”。
输入:
5
1 2 5 4 3
输出:
1 3 2 4 5


34.(1)处应填()
35.(2)处应填()
36.(3)处应填()。
37.(4)处应填()。
38.(5)处应填()。
(二)(拓扑排序)给出一张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)处应填()
40.(2)处应填()。
41.(3)处应填()。
42.(4)处应填()。
43.(5)处应填()。
更多问卷 复制此问卷