csp之模拟试题——2019 CSP——J
hello大家好,今天给大家带来csp-j 2019的试题,大家可以做一下。老规矩,给个三连求好评,点赞关注收藏哦~
不扯了,上题!
1.【 单选 】
中国的国家顶级域名是( )
- A.
.cn
- B.
.ch
- C.
.chn
- D.
.china
A
B
C
D
2.【 单选 】
二进制数11 1011 1001 0111和01 0110 1110 1011 进行逻辑与运算的结果是( )
- A.
01 0010 1000 1011
- B.
01 0010 1001 0011
- C.
01 0010 1000 0001
- D.
01 0010 1000 0011
A
B
C
D
3.【 单选 】
一个32位整型变量占用( )个字节。
- A.
32
- B.
128
- C.
4
- D.
8
A
B
C
D
4.【 单选 】
若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值(c大于0)
s=a;
for(b=1;b<=c;b++) s=s-1;
则与上述程序段功能等价的赋值语句是( )
- A.
s=a-c;
- B.
s=a-b;
- C.
s=s-c;
- D.
s=b-c;
A
B
C
D
5.【 单选 】
设有100个已排好序的数据元素,采用折半查找时,最大比较次数为( )
- A.
7
- B.
10
- C.
6
- D.
8
A
B
C
D
6.【 单选 】
链表不具有的特点是( )
- A.
插入删除不需要移动元素
- B.
不必事先估计存储空间
- C.
所需空间与线性表长度成正比
- D.
可随机访问任一元素
A
B
C
D
7.【 单选 】
把8个同样的球放在5个同样的袋子里,允许有的袋子空着不放,问共有多少种不同的分法? ( )
提示:如果8个球都放在一个袋子里,无论是哪个袋子,都只算同一种分法
- A.
22
- B.
24
- C.
18
- D.
20
A
B
C
D
8.【 单选 】
一棵二叉树如下图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处、右孩子位于下标2i+1处),则该数组的最大下标至少为( )。
- A.
6
- B.
10
- C.
15
- D.
12
A
B
C
D
9.【 单选 】
100以内最大的素数是( )。
- A.
89
- B.
97
- C.
91
- D.
93
A
B
C
D
10.【 单选 】
319和377的最大公约数是( )。
- A.
27
- B.
33
- C.
29
- D.
31
A
B
C
D
11.【 单选 】
新学期开学了,小胖想减肥,健身教练给小胖制定了两个训练方案。方案一:每次连续跑3公里可以消耗300千卡(耗时半小时);方案二:每次连续跑5公里可以消耗600千卡(耗时1小时)。小胖每周周一到周四能抽出半小时跑步,周五到周日能抽出一小时跑步。另外,教练建议小胖每周最多跑21公里,否则会损伤膝盖。请问如果小胖想严格执行教练的训练方案,并且不想损伤膝盖,每周最多通过跑步消耗多少千卡?( )
- A.
3000
- B.
2500
- C.
2400
- D.
2520
A
B
C
D
12.【 单选 】
一副纸牌除掉大小王有52张牌,四种花色,每种花色13张。假设从这52张牌中随机抽取13张纸牌,则至少( )张牌的花色一致。
- A.
4
- B.
2
- C.
3
- D.
5
A
B
C
D
13.【 单选 】
一些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是9,9颠倒过来看还是6,其他数字颠倒过来都不构成数字。类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901。假设某个城市的车牌只由5位数字组成,每一位都可以取0到9。请问这个城市最多有多少个车牌倒过来恰好还是原来的车牌?( )
- A.
60
- B.
125
- C.
75
- D.
100
A
B
C
D
14.【 单选 】
.假设一棵二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,则其前序遍历序列为( )。
- A.
ABCDEFGHIJ
- B.
ABDEGHJCFI
- C.
ABDEGJHCFI
- D.
ABDEGHJFIC
A
B
C
D
15.【 单选 】
以下哪个奖项是计算机科学领域的最高奖?( )
- A.
图灵奖
- B.
鲁班奖
- C.
诺贝尔奖
- D.
普利策奖
A
B
C
D
16.【 单选 】
阅读下面程序,回答第16~21题
#include <cstdio>
#include <cstring>
using namespace std;
char st[100];
int main() {scanf("%s", st);int n = strlen(st);for (int i = 1; i <= n; ++i){if (n % i == 0) {char c = st[i - 1];if (c >= 'a’)st[i-1]=c-'a'+'A';}}printf("%s", st);return 0;
}
判断:输入的字符串只能由小写字母或大写字母组成。( )
- A.
正确
- B.
错误
A
B
17.【 单选 】
判断:若将第8行的“i = 1”改为“i = 0”,程序运行时会发生错误。( )
- A.
正确
- B.
错误
A
B
18.【 单选 】
判断:若将第8行的“i <= n”改为“i * i<= n”,程序运行结果不会改变。( )
- A.
正确
- B.
错误
A
B
19.【 单选 】
判断:若输入的字符串全部由大写字母组成,那么输出的字符串就跟输入的字符串一样。( )
- A.
正确
- B.
错误
A
B
20.【 单选 】
若输入的字符串长度为18,那么输入的字符串跟输出的字符串相比,至多有( )个字符不同。
- A.
18
- B.
6
- C.
10
- D.
1
A
B
C
D
21.【 单选 】
若输入的字符串长度为( ),那么输入的字符串跟输出的字符串相比,至多有36个字符不同。
- A.
36
- B.
100000
- C.
1
- D.
128
A
B
C
D
22.【 单选 】
阅读下面程序,回答第22~27题
#include<cstdio>
using namespace std;
int n, m;
int a[100], b[100];
int main() {scanf("%d%d", &n, &m);for (int i = 1; i <= n; ++i)a[i] = b[i] = 0;for (int i = 1; i <= m; ++i) {int x, y;scanf("%d%d", &x, &y);if (a[x] < y && b[y] < x) {if (a[x] > 0)b[a[x]] = 0;if (b[y] > 0)a[b[y]] = 0;a[x] = y;b[y] = x;}}int ans = 0;for (int i = 1; i <= n; ++i) {if (a[i] == 0)++ans;if (b[i] == 0)++ans;}printf("%d", ans);return 0;
}
判断:当m>0时,输出的值一定小于2n。( )
- A.
正确
- B.
错误
A
B
23.【 单选 】
判断:执行完第27行的"++ans"时,ans —定是偶数。( )
- A.
正确
- B.
错误
A
B
24.【 单选 】
判断:a[i]和b[i]不可能同时大于0。( )
- A.
正确
- B.
错误
A
B
25.【 单选 】
判断:若程序执行到第13行时,x总是小于y,那么第15行不会被执行。( )
- A.
正确
- B.
错误
A
B
26.【 单选 】
若m个x两两不同,且m个y两两不同,则输出的值为()
- A.
2n-2m
- B.
2n+2
- C.
2n-2
- D.
2n
A
B
C
D
27.【 单选 】
若m个x两两不同,且m个y都相等,则输出的值为()
- A.
2n-2
- B.
2n
- C.
2m
- D.
2n-2m
A
B
C
D
28.【 单选 】
阅读下面程序,回答第28~33题
#include <iostream>
using namespace std;
const int maxn = 10000;
int n;
int a[maxn];
int b[maxn];
int f(int l, int r, int depth) {if (l > r)return 0;int min = maxn, mink;for (int i = l; i <= r; ++i) {if (min > a[i]) {min = a[i];mink = i;}}int lres = f(l, mink - 1, depth + 1);int rres = f(mink + 1, r, depth + 1);return lres + rres + depth * b[mink];
}
int main() {cin >> n;for (int i = 0; i < n; ++i)cin >> a[i];for (int i = 0; i < n; ++i)cin >> b[i];cout << f(0, n - 1, 1) << endl;return 0;
}
判断:如果a数组有重复的数字,则程序运行时会发生错误。( )
- A.
正确
- B.
错误
A
B
29.【 单选 】
判断:如果b数组全为0,则输出为0。( )
- A.
正确
- B.
错误
A
B
30.【 单选 】
当n=100时,最坏情况下,与第12行的比较运算执行的次数最接近的是:( )。
- A.
5000
- B.
600
- C.
6
- D.
100
A
B
C
D
31.【 单选 】
当n=100时,最好情况下,与第12行的比较运算执行的次数最接近的是:( )。
- A.
100
- B.
6
- C.
5000
- D.
600
A
B
C
D
32.【 单选 】
当n=10时,若b数组满足,对任意0 ≤ i<n,都有b[i] = i + 1,那么输出最大为( )。
- A.
386
- B.
383
- C.
384
- D.
385
A
B
C
D
33.【 单选 】
当n=100时,若b数组满足,对任意0≤i<n,都有b[i]=1,那么输出最小为( )。
- A.
582
- B.
580
- C.
579
- D.
581
A
B
C
D
34.【 单选 】
阅读下面问题及代码,回答第34~38题
(矩阵变换)
#include <cstdio>
using namespace std;
int n;
const int max_size = 1 << 10;int res[max_size][max_size];void recursive(int x, int y, int n, int t) {if (n == 0) {res[x][y] = ①;return;}int step = 1 << (n - 1);recursive(②, n - 1, t);recursive(x, y + step, n - 1, t);recursive(x + step, y, n - 1, t);recursive(③, n - 1, !t);
}int main() {scanf("%d", &n);recursive(0, 0, ④);int size = ⑤;for (int i = 0; i < size; i++) {for (int j = 0; j < size; j++)printf("%d", res[i][j]);puts("");}return 0;
}
①处应填( )
- A.
n%2
- B.
0
- C.
t
- D.
1
A
B
C
D
35.【 单选 】
②处应填( )
- A.
x-step,y-step
- B.
x,y-step
- C.
x-step,y
- D.
x,y
A
B
C
D
36.【 单选 】
③处应填( )
- A.
x-step,y-step
- B.
x+step,y+step
- C.
x-step,y
- D.
x,y-step
A
B
C
D
37.【 单选 】
④处应填( )
- A.
n-1,n%2
- B.
n,0
- C.
n,n%2
- D.
n-1,0
A
B
C
D
38.【 单选 】
⑤处应填( )
- A.
1<<(n+1)
- B.
1<<n
- C.
n+1
- D.
1<<(n-1)
A
B
C
D
39.【 单选 】
阅读下面问题及代码,回答第39~43题
(计数排序)计数排序是一个广泛使用的排序方法。下面的程序使用双关键字计数排序,将n对10000以内的整数,从小到大排序。例如有三对整数(3,4)、(2,4)、(3,3),那么排序之后应该是(2,4)、(3,3)、(3,4)。输入第一行为n,接下来n行,第i行有两个数a[i]和b[i],分别表示第i对整数的第一关键字和第二关键字。从小到大排序后输出。数据范围:1 ≤ n ≤ 10^7 , 1≤a[i],b[i]≤ 10^4 提示:应先对第二关键字排序,再对第一关键字排序。数组ord[]存储第二关键字排序的结果,数组res[]存储双关键字排序的结果。试补全程序。
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 10000000;
const int maxs = 10000;
int n;
unsigned a[maxn], b[maxn],res[maxn], ord[maxn];
unsigned cnt[maxs + 1];
int main() {scanf("%d", &n);for (int i = 0; i < n; ++i) scanf("%d%d", &a[i], &b[i]);memset(cnt, 0, sizeof(cnt));for (int i = 0; i < n; ++i)①; // 利用 cnt 数组统计数量for (int i = 0; i < maxs; ++i) cnt[i + 1] += cnt[i];for (int i = 0; i < n; ++i)②; // 记录初步排序结果memset(cnt, 0, sizeof(cnt));for (int i = 0; i < n; ++i)③; // 利用 cnt 数组统计数量for (int i = 0; i < maxs; ++i)cnt[i + 1] += cnt[i];for (int i = n - 1; i >= 0; --i)④ // 记录最终排序结果for (int i = 0; i < n; i++)printf("%d %d", ⑤);return 0;
}
①处应填( )
- A.
++cnt[i]
- B.
++cnt[b[i]]
- C.
++cnt[a[i] * maxs + b[i]]
- D.
++cnt[a[i]]
A
B
C
D
40.【 单选 】
②处应填( )
- A.
ord[--cnt[a[i]]] = i
- B.
ord[--cnt[b[i]]] = a[i]
- C.
ord[--cnt[a[i]]] = b[i]
- D.
ord[--cnt[b[i]]] = i
A
B
C
D
41.【 单选 】
③处应填( )
- A.
++cnt[b[i]]
- B.
++cnt[a[i] * maxs + b[i]]
- C.
++cnt[a[i]]
- D.
++cnt[i]
A
B
C
D
42.【 单选 】
④处应填( )
- A.
res[--cnt[a[ord[i]]]] = ord[i]
- B.
res[--cnt[b[ord[i]]]] = ord[i]
- C.
res[--cnt[b[i]]] = ord[i]
- D.
res[--cnt[a[i]]] = ord[i]
A
B
C
D
43.【 单选 】
⑤处应填( )
- A.
a[i], b[i]
- B.
a[res[i]], b[res[i]]
- C.
a[ord[res[i]]], b[ord[res[i]]]
- D.
a[res[ord[i]]], b[res[ord[i]]]
A
B
C
D
如果要做的话,在对应后面的选项打“√”,私信给我发答案,格式:题号,选项。再见!
csp之模拟试题——2019 CSP——J相关推荐
- 2019河北单招计算机考试模拟试题,2019年河北单招文科数学模拟试题(一)【含答案】.docx...
2019 2019年河北单招文科数学模拟试题(一)[含答案] .选择题(本大题共 12个小题,每小题5分,共60分) 1.函数厂「I与y=ln(2 - x)的定义域分别为 M.N,则M n N=() ...
- CSP模拟试题——2020
继续带来2020模拟试题,大家请查收~ 2020CSP-J 答题中 1.[ 单选 ]2 分 在内存储器中每个存储单元都被赋予一个唯一的序号,称为( ). A. 编号 B. 序号 C. 下标 D. 地址 ...
- 计算机单招语文试题,2019年高职单招语文模拟试题
2019年高职单招语文模拟试题2019-02-21 13:17:22文/叶丹 学校单招的考试形式一般为"文化联考+综合素养测试"相结合的考试模式.文化联考包括语数英三门科目:综合素 ...
- 计算机应用基础专科,2019年自考《计算机应用基础》专科模拟试题及答案
2019年自考<计算机应用基础>专科模拟试题及答案 单选题 1.第一台电子数字计算机使用的主要元器件是______. A:大规模和超大规模集成电路 B:集成电路 C:晶体管 D:电子管 答 ...
- 2019年3月未来教育计算机二级题库,2019年3月计算机二Access考试操作模拟试题001...
2019年3月计算机二Access考试操作模拟试题001 浏览次数: 时间:2019/03/28 一.基本操作题 在考生文件夹中有一个"Acc1.mdb"数据库. (1)在 ...
- 2019学位计算机模拟试题,2019年下半年成人学位英语模拟试题1
[导语]不积跬步,无以至千里,不积小流,无以成江海.无忧考网整理为大家整理了"2019年下半年成人学位英语模拟试题1",欢迎阅读参考!更多相关讯息请关注无忧考网! 1.You ca ...
- 2016年4月计算机组成原理试题答案,2019年4月江苏自考02318计算机组成原理模拟试题及答案...
2019年4月江苏自考02318计算机组成原理考试时间:4月13日(星期六)上午9:00-11:30.考期临近,为帮助考生备考,下面小编搜集整理了2019年4月江苏自考02318计算机组成原理模拟试题 ...
- 华理2019信号与系统考研模拟试题(含数字信号处理)
华东理工大学2019年信号与系统(含数字信号处理)814 考研模拟试题 链接:https://pan.baidu.com/s/12RpiS7uxu5BF59zMCkIeCQ 提取码:c4zn
- 平安银行招聘计算机,2019平安银行招聘模拟试题及答案:计算机习题
[导语]一般银行英语考试内容包括英语词汇与语法.英汉互译.改错.完型填空和阅读理解等,主要考察考生的英语读写能力:而部分银行招聘高级管理培训生和涉及外汇业务岗位的考试还会考察考生听说能力.以下是无忧考 ...
最新文章
- 所谓的创业分享,都是一堆骗人骗己的谎言?
- Windows下nginx-http-flv-module编译
- 技术动态 | 知识可视化,连接和探究知识之间的联系!
- 干货!一文搞懂无状态服务
- innobackup备份恢复实操步骤--gtid复制(1)(1)
- leetcode 45 python
- PHP如何实现百万级数据导出
- linux命令 recv阻塞时间,linux下close 掉socket 之后 阻塞的recv 不会立即返回
- 2013年第一季度中国移动互联网应用安全检测与分析报告
- centos安装docker详细步骤,如何配置阿里云镜像加速
- 《炬丰科技-半导体工艺》 PVA刷接触式清洗过程中超细颗粒清洗现象
- 0到50带圆圈的数字序号有需要的吗:)
- 决策树和CART决策树
- 使用PS更改照片的背景色
- java计算机毕业设计Web网上购书后台管理系统MyBatis+系统+LW文档+源码+调试部署
- 苹果自带输入法怎么换行_iPhone输入无法换行?这些办法解决你的问题
- STM32 烧录程序后上电不工作,但调试模式下可正常工作的解决办法
- Java实现之普利姆(Prim)算法
- 【初等数论】个人数论总结
- 逆向破解之破解补丁与劫持Dll