1915: 2024程序设计小组挑战赛

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:3 Solved:0

Description

2024程序设计小组挑战赛

注意:请将答案写在最后的答题区对应的方格内。本赛试卷满分 50 分,编程题50分。

一、选择题(共 10 题,单选,每题 3 分,共 30 分)
1. 完整的计算机系统由( )组成。
(A) 硬件系统和软件系统     (B) 运算器、控制器、存储器、输入设备和输出设备    

 (C) 主机和外部设备         (D) 主机箱、显示器、键盘、鼠标、打印机

2. 以下软件中,(  )不是操作系统软件。
(A) Windows 10     (B) Linux    (C) 鸿蒙    (D) Microsoft Office

3. 下列关于C++语言中数组的叙述,不正确的是( )。

(A). 一维数组可以用来表示数列。     (B). 二维数组可以用来表示矩阵。

(C). 三维数组可以用来表示空间中物体的形状。

(D). 世界是三维的,所以定义四维数组没有意义。

4. 下列关于C++语言中函数的叙述,不正确的是( )。

(A). 两个函数的声明可以相同。   (B). 两个函数的局部变量可以重名。

(C). 两个函数的参数可以重名。   (D). 函数调用时必须提供对应的实际参数。

5. 冒泡排序和快速排序的时间复杂度分别是( )。
(A) O(n) O(n logn)         (B) O(n2) O(n logn)        (C) O(n2) O(n)      (D) O(n logn) O(n2)

6. 十进制数 27 对应的二进制数为( )。
(A) 1011        (B) 1100        (C) 10111        (D) 11011

7. 100 个数字使用二分查找,最多需要比较(  )次。
(A) 7    (B) 8    (C) 9    (D) 99

8. 以下C++代码实现输出每个整数对应的因数,如输入 6 ,则输出 1 2 3 6 ;如输入 18 ,则输出 12 3 6 9 18 。横线处应填入代码是( )。

A. if(n%i==0)    B. if(n/i==0)   C. if(n%i!=0)     D. if(n/i!=0


9.  在下列代码的横线处填写( ),完成对有 n 个 int 类型元素的数组 array 由小到大排序。

A. int j = 1; j < n; j++      B. int j = 0; j < n; j++      C. int j = 0; j < i - 1; j++      D. int j = 0; j < i; j++


10 根据下述二分查找法,在排好序的数组 1,3,6,9,17,31,39,52,61,79,81,90,96 中查找数值 82,和82比较的数组元素分别是( )。

A. 52 61 81 90          B. 52 79 9081          C. 39 79 90 81          D. 39 79 90


二、程序填空(共 1 题,每个空格 6 分,共 30 分)
1. 设计一个查找算法,这个算法从长度为 N 的数组 nums 当中查找一个数字 t。已知 nums已经按照从小到大升序排列,要求返回在 nums 数组当中第一个不小于 t 的数字的下标,
     如果数组当中所有数字均小于 t,则返回 N。(也就是说,如果数组当中存在数值等于 t,则返回第一个的下标;如果不存在数值 t,那么返回第一个数值是大于 t 的数的下标)。
     以下函数有三个参数,分别是一个数组 nums,当前长度 n 和需要查找的数字 t。

根据上述程序,选择正确的代码填入空格。


Sample Input Copy


Sample Output Copy