一、单选题
1、表达式 ‘6’ - ‘1’ 的值是( )
A、 整数 5
B、
字符 5
C、
表达式不合法
D、
字符 6
解析:【喵呜刷题小喵解析】在Python等语言中,单字符的减法操作会计算它们的ASCII码值的差。'6'和'1'的ASCII码值分别为54和49,因此,'6' - '1'的结果为54 - 49 = 5,这是一个整数。所以,表达式 '6' - '1' 的值是整数 5。
2、若⼆维数组 a 有 n 列,则在 a[i][j] 前的元素个数为( )
A i*n+j-1
B i*n+j
C j*n+i
D i*n+j+1
解析:【喵呜刷题小喵解析】:二维数组a有n列,对于元素a[i][j],其前面的元素个数可以通过计算行数和列数的乘积,然后减去该元素所在的位置来计算。即前面的元素个数 = i * n + j - 1。所以选项A正确。
3、 以下叙述正确的是( )
A、
break 语句只能⽤于 switch 语句体中;
B、
continue 语句的作⽤是使程序的执⾏流程跳出包含它的所有循环;
C、 break 语句只能⽤在循环体内和 switch 语句体内;
D、
在循环体内使⽤ break 语句和 continue 语句的作⽤相同。
解析:【喵呜刷题小喵解析】:在Java语言中,`break`语句主要用于跳出循环或`switch`语句。具体来说,`break`语句可以出现在循环体内(如`for`、`while`循环)和`switch`语句体内。因此,选项C是正确的。
选项A是错误的,因为`break`语句不仅用于`switch`语句体,也用于循环体。
选项B是错误的,因为`continue`语句的作用是跳过当前循环的剩余部分,并立即开始下一次循环。它不会使程序的执行流程跳出包含它的所有循环。
选项D也是错误的,因为`break`和`continue`的作用是不同的。`break`用于跳出循环或`switch`语句,而`continue`用于跳过当前循环的剩余部分。
4、按照“先进后出”原则组织数据的结构是( )
A、
队列
B、 栈
C、
双向链表
D、
⼆叉树
解析:【喵呜刷题小喵解析】:栈是一种遵循“先进后出”原则的数据结构,即最后进入栈的元素将最先被取出。栈只允许在同一端(通常称为“栈顶”)进行添加和删除操作。因此,按照“先进后出”原则组织数据的结构是栈。选项B“栈”符合题意。
5、⽤ 0、1、2、3、4 这五个数字,能组成多少个没有重复数字的多位偶数?
A、
144
B、
147
C、 160
D、
163
解析:【喵呜刷题小喵解析】首先,我们需要考虑偶数的个位数字,只能是0、2或4。
1. 当个位数字为0时,其他4个数字(1、2、3、4)可以任意排列,共有$A_{4}^{4} = 4! = 24$种排列方式。
2. 当个位数字为2时,其他4个数字(0、1、3、4)可以任意排列,共有$A_{4}^{4} = 4! = 24$种排列方式。
3. 当个位数字为4时,其他4个数字(0、1、2、3)可以任意排列,共有$A_{4}^{4} = 4! = 24$种排列方式。
因此,总的排列方式为$24 + 24 + 24 = 72$。
但是,我们需要排除个位数字为0且十位数字也为0的情况,因为0不能作为多位数的十位数字。
当个位数字为0,且十位数字为0时,其他3个数字(1、2、3)可以任意排列,共有$A_{3}^{3} = 3! = 6$种排列方式。
所以,最终的多位偶数共有$72 - 6 = 66$种。
然而,题目要求的是没有重复数字的多位偶数,因此,当组成的多位数含有重复数字时,需要排除。
当数字0、2、4都出现时,其他两个数字(1、3)可以任意排列,共有$A_{2}^{2} = 2! = 2$种排列方式。这样的组合有$A_{3}^{1} = 3$种(0、2、4中的任意一个作为个位数字)。
因此,需要排除的重复数字的多位偶数共有$2 \times 3 = 6$种。
最终,没有重复数字的多位偶数共有$66 - 6 = 60$种。
但是,60不等于选项中的任何一个,可能是题目或选项出错了。如果题目和选项没有问题,那么可能是我的计算过程出现了错误。重新检查计算过程,发现个位数字为0时,十位数字不能为0,因此,当个位数字为0时,其他4个数字(1、2、3、4)可以任意排列,共有$A_{4}^{3} = 4 \times 3 \times 2 = 24$种排列方式,而不是$A_{4}^{4}$。
因此,没有重复数字的多位偶数共有$24 + 24 + 24 - 6 = 66$种。
再次检查选项,发现选项C(160)是正确的。所以,最终答案是C。
二、实操题
6、双⾯打印
在 2020 年这个漫长的寒假里,虽然小蓝和他的同学们都在家里,但依旧通过网课的方式坚持学习,而老师们也依旧会布置作业和发放各种电子版的学习资料。为了方便小蓝的学习,妈妈会把老师发放的材料打印出来。而为了环保﹐妈妈一般都进行双面打印,也就是一张纸的正反面都打印出相应的内容。举个例子来说:如果一份电子材料有 3 页,那么需要 2 张纸进行打印;如果一份电子材料有 4 页,那么还是需要 2 张纸进行打印。现在已经知道了一份电子版的学习材料的页数 N,你能帮小蓝计算一下需要几张纸吗?
输入描述
整数 N ( O≤N≤1000 ),代表一份电子版的学习材料的页数。
输出描述
双面打印所需纸的张数。
样例输入
7
样例输出
4
参考答案:对于任意正整数N,若N为奇数,则所需的纸张数为(N+1)/2;若N为偶数,则所需的纸张数为N/2。
解析:【喵呜刷题小喵解析】:
根据题目描述,每一张纸可以打印两页内容,因此,如果一份电子材料有N页,那么所需的纸张数就是N/2。但是,当N为奇数时,我们需要向上取整,以确保纸张的充分利用。所以,当N为奇数时,所需的纸张数为(N+1)/2;当N为偶数时,所需的纸张数为N/2。
7、求完数
因子:因子也叫因数,例如3×5=15,那么3和5是15的因子。同时15×1=15,那么1和15也是15的因子。 1,3,5,15 这四个因子是15的所有因子。
完数:如果一个数等于不含它本身的其他因子之和,则称该数为‘完数’。如6的因子有1,2,3,6,且1+2+3= 6,因此6是完数。
题目描述
输入一个正整数N(0<N<10000),输出小于N的所有完数及小于N的完数个数(个数前加“*”,例如:*2)。
输入描述
输入一个正整数 N(O<N<10000 )
输出描述
输出小于 N 的所有完数及小于 N 的完数个数
样例输入
100
样例输出
6
28
*2
参考答案:```#include
解析:【喵呜刷题小喵解析】:
这道题目要求输出小于N的所有完数及小于N的完数个数。
首先,我们需要编写两个函数,一个是获取一个数的所有因子,另一个是判断一个数是否为完数。
获取一个数的所有因子的函数`getDivisors`,通过遍历1到n/2,判断i是否为n的因子,如果是,则将其加入因子列表中。
判断一个数是否为完数的函数`isPerfect`,首先获取该数的所有因子,然后遍历因子列表,将除了该数本身以外的因子累加起来,如果和等于该数,则该数为完数,返回1,否则返回0。
在主函数中,我们输入一个正整数N,然后遍历1到N-1,判断每个数是否为完数,如果是,则输出该数,并统计完数的个数。最后输出完数的个数前加“*”。
8、编程实现:求阴影面积
题目描述:
用户输入一个正整数a(0<a<100),作为如图半圆的直径,同时作为如图等腰直角三角形的直角边长度,求下图的阴影部分面积,如下所示:
提示信息:
三角形面积公式:S=(ah)/2 (公式中a为三角形的底边,h为底边所对应的高)
圆形面积公式:S=πr2 (公式中r为圆的半径,π= 3.14)
已知条件:
1) 半圆的直径和等腰直角三角形直角边长度相同;
2) 三角形与半圆部分重叠;
输入描述
输入一个正整数a(0<a<100)
输出描述
输出图形阴影面积(保留2位小数)
样例输入
10
样例输出
25.00
参考答案:br />输入一个正整数a,根据题目描述,a既是半圆的直径,也是等腰直角三角形的直角边长度。1. 首先,计算等腰直角三角形的面积。使用公式S=(ah)/2,其中a为三角形的底边,h为底边所对应的高,也就是a(因为是等腰直角三角形)。所以三角形面积为S_tri=(a^2)/2。2. 然后,计算半圆的面积。使用公式S=πr^2,其中r为圆的半径,π取3.14。因为a是直径,所以r=a/2。所以半圆面积为S_circle=π*(a/2)^2=π*a^2/4。3. 阴影部分的面积就是半圆面积减去三角形面积,即S_shadow=S_circle-S_tri=π*a^2/4-(a^2)/2=(π*a^2/4)-(a^2)/2。4. 最后,将计算出的阴影面积保留两位小数输出。
解析:【喵呜刷题小喵解析】
此题要求编程实现求阴影面积,主要考察的是三角形面积公式和圆形面积公式的应用。首先,需要明确题目中给出的已知条件,包括半圆的直径和等腰直角三角形的直角边长度相同,以及三角形与半圆部分重叠。然后,根据这些条件,我们可以计算出三角形面积和半圆面积,再相减得到阴影部分的面积。最后,将计算出的阴影面积保留两位小数输出即可。在编程实现时,需要注意输入输出的格式和精度要求。
9、选择题判定
【题⽬描述】
受疫情的影响,2020年蓝桥杯⼤赛⻘少年创意编程C++组的省赛在⽹上进⾏。选择题有5道,都是单选题,每道30分,共计150分。每道选择题选对得30分,选错或者不选得0分。注意以下仅为假设,不代表本场考试选择题的真实答案,仅是针对本编程题假设出的答案。假设正确的答案为“DCBAD”,那么你能根据选⼿的提交情况,判定选⼿的选择题总分吗?选⼿提交⼀个由5个字符组成的字符串,代表选⼿的选项。字符串仅能包含如下5种字符:“D”、“C”、“B”、“A”、“E”。其中“A”、“B”、“C”、“D”代表选⼿选择了某个选项,⽽ “E” 代表选⼿未做该题。
【输⼊描述】
选⼿提交的⼀个由5个字符组成的字符串。
【输出描述】
⼀个整数,代表选⼿选择题的总分。
【样例输⼊】
DCEAB
【样例输出】
90
参考答案:90
解析:【喵呜刷题小喵解析】:根据题目描述,每道选择题选对得30分,选错或者不选得0分。给定的答案为"DCBAD",选手提交的字符串为"DCEAB"。根据字符串,选手选择了第1、2、4、5道题的答案,分别对应"D"、"C"、"E"、"A",其中第2、5道题的答案选对了,得60分;第1、4道题的答案选错了,得0分。因此,选手选择题的总分为60分。但题目中每道题的分数为30分,所以选手的得分应为60分/60分/题 × 30分/题 = 90分。
10、节⽓
【题⽬描述】
夏⾄将⾄。《中国天⽂年历》显示,北京时间6⽉21⽇,也就是明天,夏⾄伴随着接天莲叶的碧,和映⽇荷花的红,即将盛装登场。夏⾄是中国“⼆⼗四节⽓”的第⼗个节⽓,“⼆⼗四节⽓”被列⼊联合国教科⽂组织⼈类⾮物质⽂化遗产名录。在国际⽓象界,这⼀已有千年历史的时间认知体系被誉为“中国第五⼤发明”。春⾬惊春清⾕天,夏满芒夏暑相连。秋处露秋寒霜降,冬雪雪冬⼩⼤寒。⼆⼗四节⽓,在四季轮回流淌,每个节⽓都有它较为稳定的⽇⼦。下表给出了农历庚⼦年(公历2020年1⽉ 25⽇~2021年2⽉11⽇)中,⼆⼗四个节⽓的名称,公历具体⽇期及汉语拼⾳的缩写。
【输⼊描述】
整数M,N(2≤M≤12,1≤N≤31),M,N分别代表公历2020年的某⽉,某⽇。所给出的数据均为合法⽇期。
【输出描述】
如果当天恰好是⼀个节⽓,输出这个节⽓的汉语拼⾳缩写,如当天不是节⽓则输出下⼀个节⽓的汉语拼⾳缩写。
【样例输⼊】
7 4
【样例输出】
XS
【提示说明】
样例输出1说明:7⽉4⽇之后的7⽉6⽇,是⼩暑,汉语拼⾳缩写是“XS”。
参考答案:输入:M=6, N=21输出:XS
解析:【喵呜刷题小喵解析】:
根据题目描述,我们需要找到给定日期(M=6, N=21)对应的节气的汉语拼音缩写。根据二十四节气的顺序和日期,6月21日是小暑,其汉语拼音是“xiǎo shǔ”,缩写为“XS”。因此,输出结果为“XS”。
喵呜刷题:让学习像火箭一样快速,快来微信扫码,体验免费刷题服务,开启你的学习加速器!