2024年9月21日,结束了2024年CSP-J第一轮考试,下面是真题解析,需要下载的,请参加文章最后。
二.
阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填V,错误填x;除特殊说明外,判断题1.5分,选择题3分,共计40分)
(1)
题解:√×√BA
题目中3个函数,其中isPrime(x)为判断质数的函数,countPrimes(x)为判断1~x中有多少个质数的函数,sumPrimes(x)为求1~x中所有质数的和
判断题:
16.当输入为“10”时,程序的第一个输出为“4”,第二个输出为“17”。( )
题解:√
直接计算即可
17.若将isPrime(i)函数种的条件改为i<=n/2,输入“20”时,countPrimes(20)的
输出将变为“6”( )
题解:×
应为8
18.sumPrimes函数计算的是从2到n之间的所有素数之和( )
题解:√
单选题
19.当输入为“50”时,sumPrimes(50)的输出为( )
A.1060
B.328
C.381
D.275
题解:B
1~50质数的和为328
20.如果将for(int i=2;i*i<=n;i++)改为for(itn i=2;i<=n;i++),输入“10”时,程序的输出( )
A.将不能正确计算10以内素数个数及其和
B.仍然输出“4”和“17”
C.输出“3”和10
D.输出结果不变,但余小宁时间更短
题解:A
加上等号以后所有数都不满足条件
(2)
题解:√××ABA
判断题:
21.当输入的cost数组为{10,15,20}时,程序的输出为15( )
题解:√
直接根据代码计算即可
22.如果将dp[i-1]改为dp[i-3],程序可能会产生编译错误( )
题解:×
不会产生编译错误,因为数组下标为负数,会产生运行错误
23.(2分)程序总是输出cost数组种的最小的元素( )
题解:×
·单选题
24.当输入的cost数组为{1,100,1,1,1,100,1,1,100,1}时,程序的输出为()。
A."6”
B.“7"
C."8”
D.”9"
题解A
直接根据代码计算即可
25.(4分)如果输入的cost数组为{10,15,30,5,5,10,20},程序的输出为()
A.”25”
B."30"
C."35”
D.“40”
题解:B
直接根据代码计算即可
26.若将代码中的min(dp[i-1],dp[i-2])+cost[i-1]修改为dp[i-1]+cost[i-2],输入cost数组为{5,10,15}时,程序的输出为()
A.”10”
B."15"
C."20”
D.“25”
题解:A
直接根据代码计算即可
(3)
题解:×√√BCD
customFunction函数为计算(b+1)个a相加的结果
最后输出是customFuntion的平方
判断题:
27.当输入为“2 3”时,customFunction(2,3)的返回值为“64”。( )
题解:×
这个函数的返回值应该为8
28.当b为负数时,customFunction(a,b)会陷入无限递归。( )
题解:√
B为负数递归无终止条件
29.当b的值越大,程序的运行时间越长。( )
题解:√
b越大,递归次数越多
单选题
30,当输入为“5 4”时,customFunction(5,4)的返回值为( )。
A.5
B.25
C.250
D.625
题解B
5个5相加等于25
31.如果输入x = 3和y = 3,则程序的最终输出为()
A."27”
B."81”
C."144”
D."256
题解:C
customFunction(3,3)的返回值为12 122=144
32.(4分)若将customFunction函数改为“return a + customFunction(a-1,b-1);并输入“3 3”,则程序的最终输出为()。
A.9
B.16
C.25
D.36
题解:D
直接根据代码计算即可
三、
程序填空
(1)
(判断平方数) 问题:给定一个正整数n,判断这个数 是不是完全平方数,即存在一个正整数x使得x的平方等于n
试补全程序
33.①处应填( )
A.1 B. 2. C. 3. D.4
题解:A
34.②处应填( )
A.(int) floor(sqrt(num)-1)
B.(int)floor(sqrt(num))
C. floor(sqrt(num/2))-1
D. floor(sqrt(num/2))
题解:B
35.③处应填()
A.num=2*i
B.num== 2*i
C. num=i*i
D. num==i*i
题解:D
36.④处应填()
A. num= 2*i
B. num==2*i
C. true
D. false
题解:C
37.⑤处应填()
A. num= i*i
B. num!=2*I
C. true
D. False
题解:D
2)(汉诺塔问题)给定三根柱子,分别标记为A、B和C。初始状态下,柱子A上有若干个圆盘,这些圆盘从上到下按从小到大的顺序排列。任务是将这些圆盘全部移到柱子c上,且必须保持原有顺序不变。在移动过程中,需要遵守以不规则:
1.只能从一根柱子的顶部取出圆盘,并将其放入另一根柱子的顶部。
2.每次只能移动一个圆盘
3.小圆盘必须始终在大圆盘之上。
试补全程序
38.①处应填()
A.0
B.1
C.2
D. 3
题解:B
39.②处应填()
A. src,tmp
B. src,tgt
C. tmp,tgt
D.tgt,tmp
题解:B
40.③处应填()
A. src,tmp,tgt
B. src, tgt, tmp
C. tgt, tmp, src
D. tgt, src, tmp
题解:B
41.④处应填()
A. src, tmp, tgt
B. tmp,src, tgt
C. src, tgt,tmp
D. tgt,src,tmp
题解:B
42.⑤处应填()
A. 0
B. 1
C. i-1
D. i
题解:C
资源获取:
链接:https://pan.baidu.com/s/1oSG8cDKsyaMr_irJSbg6Yw
提取码:w4il
少儿编程线上系列课程
我们推出一套完全自主开发的少儿编程线上课程,旨在让更多刚接触编程的孩子能快速入门,提升学习编程的兴趣,并在编程中锻炼思维和问题解决能力。
1)详细可咨询老师微信号:linyang_xmu,扫码加我微信
全部采用3-5人小小形式的直播课,全程互动交流,能掌握每个孩子的学习效果。启发提问式教育,更注重孩子的逻辑思维能力和独立解决问题能力培养。
【图形化课程】:图形化编程:初级+中级+高级+竞赛+考级
目标:学好高级内容利于后续学习C++,参加白名单竞赛获得省赛和国赛奖,提升需求分析和独立解决问题能力
【CSP J/S NOIP竞赛课程1】:CSP初赛基础知识
【CSP J/S NOIP竞赛课程2】:C++语法精讲(学完入门课程再补充8次课)
【CSP J/S NOIP竞赛课程3】:C++基础算法
【CSP J/S NOIP竞赛课程4】:C++数据结构
【扫一扫加我】微信号:linyang_xmu