【基础】2019 CSP-J初试试题详解(普及组)
中国A.cn
回答a
2.二进制数11 1 10 101111和01 065438。
A.01 0010 1000 1011 b . 01 00101001 001
C.01 0010 1000 0001
答案d
分析
3.32位整数变量占用多少字节?
128 C.4 D.8
答案c
解析32÷8=4(字节)
4.如果有以下程序段,其中S、A、B、C已定义为整数变量,A、C已赋值(C大于0):
s = a;
for(b = 1;b & lt= c;b++)s = s-1;
相当于上述程序段功能的赋值语句是什么?
a . s = a-c;b . s = a-b;c . s = s-c;d . s = b-c;
回答a
5.有100个有序数据元素。对半搜索时,最大比较次数是多少?
10
回答a
分析
6.链表没有的特点是什么?
A.插入和删除不需要移动的元素。b .不需要提前预估存储空间。
C.所需空间与线性表d的长度成正比,任何元素都可以随机访问。
答案d
7.7.把八个相同的球放在五个相同的袋子里,让一些袋子空着。有多少个不同的点(如果八个球都放在一个袋子里,不管是哪个袋子,都只是同一个点)?
A.22 B.24 C.18 D.20
答案c
分析
枚举:
8.右边显示了一个二叉树。如果采用顺序存储结构,即使用一维数组元素存储二叉树中的节点(根节点的下标为1,如果一个节点的下标为I,则左子位于下标2i,右子位于下标2i+1),那么数组的最大下标至少为?
10。D.12
答案c
分析2 4-1 = 15
10.319和377的最大公约数是多少?
A.27 B.33 C.29 D.31
答案c
11.新学期开始了,小胖想减肥。健身教练为小胖制定了两个训练计划。方案一:每次连续跑3公里可以消耗300千卡热量(需要半小时);方案二:每次连续跑5公里可以消耗600千卡(耗时1小时)。小胖每周一到周四能抽出半小时跑步,周五到周日能抽出一小时跑步。此外,教练建议小胖每周最多跑21公里,否则他的膝盖会受损。请问,如果小胖想严格执行教练的训练计划,不想伤膝盖,每周跑步最多能消耗多少千卡热量?
公元3000年公元2500年公元2400年公元2520年
答案c
分析
消耗的千卡数与时间成正比。
选项1:
选项2:
为了尽可能多的消耗千卡热量,尽可能少的跑步,尽量使用方案二,每天一个小时最多有三天。剩下的,方案1可以只是锻炼。综上,消耗最大。
12.一副牌有52张牌,四种花色,每种花色有13张牌。假设从这52张牌中随机抽取13张牌,那么同花色的牌至少有多少张?
a4 b . 2 c . 3d . 5
回答a
分析
13.one-有些数可以反过来,比如0,1,8倒过来还是本身,6倒过来就是9,9倒过来还是6,其他数不构成数。同样,有些多位数也可以反过来,比如106就是901。假设一个城市的车牌只由5个数字组成,每个数字可以是0到9。请问这个城市最多有几个车牌?
A.60 B.125 C.75 D.100
答案c
分析一个五位数倒置,第一位数变第五位数,第五位数变第一位数,即第一位数反过来等于第五位数,第五位数反过来等于第一位数。有五种情况:0→0,1→1,8→8,6→9,9→6。同样,第二名和第四名也有五种情况。第三名还是第三名,也就是说只能说0,1和8。根据乘法原理,* * *有。
14.假设二叉树的后序遍历序列为DGJHEBIFCA,中序遍历序列为DBGEHJACIF,其前序遍历序列为?
A.ABCDEFGHIJ·阿卜杜勒·杰菲
答案b
分析
制作一个二叉树的图表:
15.15.以下哪个奖项是计算机科学领域的最高奖项?
A.图灵奖b .鲁班奖c .诺贝尔奖d .普利策奖
答案c
二、读取程序(程序输入不超过数组或字符串定义的范围;判断题,正确的填√,不正确的填×;除特别说明外,1.5分的判断题,3分的选择题,40分的* * *)
1.输入字符串只能由小写字母或大写字母组成。
2.如果将第8行的“i = 1”改为“i = 0”,程序运行时会出错。
3.如果“我
4.如果输入字符串全部由大写字母组成,则输出字符串与输入字符串相同。
5.如果输入字符串的长度是18,则输入字符串与输出字符串最多相差()个字符。
a . 18 b . 6 c . 10d . 1
6.如果输入字符串长度为(),则输入字符串与输出字符串最多相差36个字符。
公元前36年
回答
是非题:×××××
选择题:BB
回答
判断题:√××××
选择题:AA
分析
是非题:
4.15行是否执行取决于14行,与13行无关。
多项选择问题:
1.原来是2n,减去m的对数,就是2n-2m。
2.只存储两个数,即2n-2。
假设输入的n和m都是正整数,x和y都是范围内的整数,完成下面的判断题和选择题:
1.当为时,输出值必须小于。
2.在第27行执行“++ans”之后,ans-必须是一个偶数。
3.A [i]和B [i]不能同时大于0。
4.当右程序执行到13行,X总是小于Y,那么15行就不会执行。
5.如果m x两两不同,m y两两不同,则输出值为()。
A.B. C. D。
6.如果m x两两不同,m y都相等,则输出值为()。
A.B. C. D。
回答
是非题:×√。
选择题:b
分析
是非题:
1.数组A中的数字重复时,取最小值中数字最大的一个,没有错。
2.f的返回函数总是0。
1.如果数组A中有重复的数字,程序运行时就会出错。()
2.如果B数组全为零,则输出为零。()
3.当n=100时,最坏情况下,第12行的比较运算次数最接近:()。
A.5000 B. 600 C. 6 D. 100
4.当n=100时,最好的情况下,第12行比较运算最接近的次数是:()。
A.100 B. 6 C. 5000 D. 600
5.当n=10时,如果满足数组B,对于任意0
A.公元前386年至公元前383年
6.(4分)当n=100时,如果满足数组B,对于任何0 s i
A.582 B. 580 C. 579 D. 581
回答
是非题:×√。
选择题:ADDB
分析
1.(矩阵变化)有一个神奇的矩阵,它是不断变化的。它的变化方式是:数字0变成矩阵,数字1变成矩阵。起初,矩阵只有一个元素0。矩阵改变n次后会变成什么样?
例如,矩阵初始为:矩阵变化1次后:矩阵变化2次后:每行输入不超过10的正整数n。变换n次后输出矩阵。试验完成计划。
提示:
“& lt& lt”表示二进制左移运算符,如
(1)应填写()
A.n % 2 b . 0 c . t . d . 1
(2)应填写()
A.X步,y步B. X,y步C. x步,y D.x,y
(3)应填写()
A.X步进,y步进b . X+步进,y+步进C. x步进,y D. X,y步进
(4)应填写()
A.n-1,n%2 B. n,0 C. n,n%2 D
(5)应填写()的位置
A.1 & lt;& lt(n+1)b . 1 & lt;& ltn c . n+1d . 1 & lt;& lt(n-1)
回答CDBBB
分析
(计数排序)计数排序是一种广泛使用的排序方法。下面的程序使用double关键字counting sort将10000内的n对整数从小到大排序。比如有三对整数(3,4)(3,4)(2,4)(2,4)(3,3)(3,3),那么顺序应该是(2,4)(2,4)(3,3)(3,3)(3)。输入第一行nn,下一行nn,第二行有两个数a[i]a[i]和b[i]b[i],分别代表第二对整数的第一个关键字和第二个关键字。从小到大排序后输出。数据范围和
提示:先排序第二个关键词,再排序第一个关键词。数组ord[]存储第二个关键字排序的结果,数组res[]存储双关键字排序的结果。
试验完成计划。
(1)应填写()
A.++ CNT[I]b . ++ CNT[b[I]]c . ++ CNT[a[I]* maxs+b[I]]d . ++ CNT[a[I]]
(2)应填写()
A.ord[ - cnt[a[i]]] = i B
C.ord[ - cnt[a[i]]] = b[i] D
(3)应填写()
A.++ CNT[b[I]]b . ++ CNT[a[I]* maxs+b[I]]c . ++ CNT[a[I]]d . ++ CNT[I]
(4)应填写()
A.RES[-CNT[a[ord[I]]]= ord[I]
C.RES[-CNT[b[I]]]= ord[I]d . RES[-CNT[a[I]]]= ord[I]
(5)应填写()的位置
A.a[i],b[i] B. a[res[i]],b[RES[I]]c . a[ord[RES[I]]]j b[ord[RES[I]]]d . a[RES[ord[I]]]j b[RES[ord[I]]]
回答BDCAB
分析