通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
"CSP考试" 试卷中 CSP-S1提高级初赛试卷[2020] 中有题目如下:
第1题
#include <iostream> #include <cstdlib> using namespace std; int n; int d[10000]; int find(int L, int R, int k) { int x = rand() % (R - L + 1) + L; swap(d[L], d[x]); int a = L + 1, b = R; while (a < b) { while (a < b && d[a] < d[L]) ++a; while (a < b && d[b] >= d[L]) --b; swap(d[a], d[b]); } if (d[a] < d[L]) ++a; if (a - L == k) return d[L]; if (a - L < k) return find(a, R, k - (a - L)); return find(L + 1, a - 1, k); } int main() { int k; cin >> n; cin >> k; for (int i = 0; i < n; ++i) cin >> d[i]; cout << find(0, n - 1, k); return 0; }
假设输入的 n,k 和 d[i] 都是不超过 10000 的正整数,且 k 不超过 n,并假设 rand() 函数产生的是均匀的随机数。
1)判断:第 9 行的“x”的数值范围是 L+1到 R,即 [L+1, R]。( )
正确
错误
所属试卷:CSP-S1提高级初赛试卷[2020]
对于语句cout<<endl<<x;中的各个组成部分,
如果要从一个HTML文件中提取名为message的参数
条件表达式可以判断y是否为小写字母。
数据库系统的核心是( )。
已知大写字母A的ASCII码是65,小写字母a的ASC
以下对模板的说明,正确的是_____。
以下代码的输出结果是。
已知列表x=[1,2],执行语句y=x[:]后,表达式
下面程序段运行结果是_________。
系统引导的过程一般包括如下几步:a.MBR中的引导装载
在Linux操作系统中,设备都是通过特殊的( )来访问
从内核实现的角度说明Linux进程共享文件的方式有哪几
对于Shell脚本程序,若输入参数数量多于9个,则程序
Linux文件系统中每个文件用_______来标识。
MySQL客户端程序 _____ 可用于从mysqld
视图定义时algorithm参数值为 _____ 表示
在已存在的表中建立索引的命令是
存取方法设计是数据库设计的阶段的任务。
设数组 S[ ]={93,946,372,9,146,
(8 分)假设某磁盘驱动器中有 4 个双面盘片,每个盘
C语言中一个函数由函数首部和_____两部分组成。
若有以下数组a,数组元素:a[0]~a[9],其值为9
假设所有变量都为整型,表达式(a=2,b=5,a>b?
当a=3,b=2,c=1时,执行以下程序段后b=___
执行语句char str[81]="abcdef";后
C语言表达式!(4>=6)&&(3<=7)的值是___
定义一维数组的形式为:类型说明数组名[表达式],其中表
现有一段 8 分钟的视频文件,它的播放速度是每秒 24
以下哪些算法不属于贪心算法 ( )。
前序遍历序列与中序遍历序列相同的二叉树为( )。
更多选择题
更多填空题
第十章 C++流
第九章 C++模板
第八章 C++运算符重载
C++语言程序设计真题5
C++语言程序设计真题4
C++语言程序设计真题3
C++语言程序设计真题2