2026年全国青少年信息素养大赛复赛真题(算法应用主题赛C++初中组:带解析)(7月4日试卷二)【文末附答案和解析】 2026年全国青少年信息素养大赛复赛真题算法应用主题赛C初中组带解析7月4日试卷二【文末附答案和解析】一、单选题第1题在丝绸之路货物运输统计系统中某批货物的基础运输量用整数n表示。如果运输量不少于 100 箱则系统会额外增加运输量的十分之一作为补贴统计值。以下程序输入 120输出是intn;cinn;if(n100)nnn/10;coutn;A. 120B. 122C. 132D. 130第2题在丝绸之路商队管理系统中变量a和b分别记录两匹骆驼的载重编号。现在需要不借助第三方变量交换两匹骆驼的载重编号。以下程序输入 46输出是inta,b;cinab;aab;ba-b;aa-b;couta b;A. 46B. 64C. 106D. 610第3题丝绸之路旅行家在整理驿站路线编号时需要从个位开始依次读取编号中的每一位用于生成反向检索码。下面代码的输出结果是intn527;while(n0){coutn%10;nn/10;}A. 527B. 572C. 257D. 725第4题在丝绸之路服饰与纺织文化数字档案中某些丝绸纹样编号由若干数字字符组成。系统需要计算编号中所有数字的总和用于生成纹样校验值。以下程序执行后输出的结果是#includeiostream#includestringusingnamespacestd;intmain(){string s123456789;intsum0;for(inti0;is.length();i){if(s[i]0s[i]9){sums[i]-0;}}coutsum;return0;}A. 36B. 45C. 55D. 0第5题丝绸之路服饰记录了4批瓷器在运输过程中的破损风险值int arr[4] {5, 3, 8, 1};现在要按照顺序进行冒泡排序。冒泡排序的第一轮操作是从左到右遍历数组通过两两比较相邻元素将当前最大的元素移动到末尾。执行第一轮冒泡排序后数组arr中的内容为A. 3, 5, 1, 8B. 3, 1, 5, 8C. 3, 5, 8, 1D. 5, 3, 8, 1二、多选题第1题在编写丝绸之路贸易数据统计程序时需要定义变量保存年龄、货物总量、商品编号等信息。下列变量名合法的是A. ageB. sum_valueC. forD. num2第2题丝绸之路行程规划程序需要依次输出路线中的1到5号驿站编号。关于下面代码说法正确的是for(inti1;i5;i){couti;}A.int i 1只执行一次B.i 5只判断一次C. 每次执行完循环体后会执行iD. 当i变成6时循环结束第3题在丝绸之路服饰与纺织文化数字档案中字符串可以用来存储服饰名称、纹样名称、路线名称等文本信息。下列关于 Cstring的操作正确的有A.string s hello; s[0] H;可以修改字符串的第一个字符B.string s; cin s;可以读取包含空格的字符串C.string s1 abc, s2 def; string s3 s1 s2;可以得到abcdefD.string s abcd; cout s.length();输出 4第4题某丝绸之路数字展馆有一个 5 行 5 列的展区地图用二维数组a[5][5]表示。主对角线从左上角到右下角可以抽象为展馆中的一条主参观通道。已知一个 5 行 5 列的二维数组以下程序段可以正确求出主对角线元素之和的有A.intsum0;for(inti0;i5;i)for(intj0;j5;j)if(ij)suma[i][j];B.intsum0;for(inti0;i5;i)suma[i][i];C.intsum0;for(inti0;i5;i)for(intj0;j5;j)if(ij4)suma[i][j];D.intsum0;for(inti0;i5;i)suma[i][4-i];第5题现代丝绸之路物流系统中可能需要在大量已经排序的货物编号中快速查找某个编号。如果编号数据已经按照从小到大的顺序排列可以使用二分查找提高效率。关于二分查找算法下列说法中正确的是A. 二分查找比顺序查找在处理大规模有序数据时查找效率快很多B. 二分查找每一次都选择中间位置将中间值和目标值进行比较相同则结束查找不同则缩小查找范围C. 二分查找要求元素必须是单调有序的D. 二分查找要求序列中的数字都互不相同三、编程题第1题商队运费计算题目描述丝绸之路商队要把一批货物运往集市。根据货物件数n运费按下面的规则计算如果n 10运费是 5 元如果10 n 30前 10 件收 5 元超过 10 件的部分每件收 2 元如果n 30前 10 件收 5 元第 11 到第 30 件每件收 2 元超过 30 件的部分每件收 3 元。请你根据货物件数计算总运费。输入第一行一个整数n表示货物件数。输出输出一个整数表示总运费。数据范围1 n 1000输入样例18输出样例15输入样例220输出样例225输入样例335输出样例360第2题驼队补给题目描述驼队出发前领队要依次检查一段连续的补给编号从n到m。对于这段范围中的每一个编号都要判断它是否属于“重点检查编号”。如果满足下面任意一个条件就输出yes否则输出no这个编号的个位数字是 7这个编号能被 7 整除。请你按从小到大的顺序依次输出每个编号的检查结果。输入第一行一个整数n表示起始编号。第二行一个整数m表示结束编号。输出对于从n到m的每一个编号逐行输出检查结果满足条件输出yes否则输出no。数据范围1 n m 1000输入样例15 9输出样例1no no yes no no输入样例214 18输出样例2yes no no yes no第3题文物定位图案题目描述在丝绸之路艺术遗产的数字化修复过程中工作人员常常需要在图像上添加水平和竖直参考线用于辅助定位文物图案。为了方便学生理解系统将这些参考线抽象成一个“王”字形定位矩阵。给定一个奇数N请你输出一个N × N的王字定位矩阵。具体规则如下第一行中间一行最后一行全部输出等号中间一列输出竖线|如果某个位置同时属于横线和竖线优先输出等号其余位置全部输出半角小写字母a。例如N 5时矩阵如下为展示位置此处用表格示意实际输出无空格和边框 a|a|a a|a|a 输入一行一个整数N。输出输出对应的王字定位矩阵。请严格按格式要求输出不要擅自添加任何空格、标点、空行等任何符号。你应该恰好输出N行每行除了换行符外恰好包含N个字符。数据范围3 N 100保证N为奇数。输入样例17输出样例1 aaa|aaa aaa|aaa aaa|aaa aaa|aaa 第4题商队驿站最优卸货题目描述丝绸之路上的商队从长安出发沿途需要依次在n个驿站卸下货物。每个驿站的卸货时间为xi单位时间。商队从 0 时刻开始每次只能在一个驿站卸货卸完一个才能前往下一个。商队希望最小化所有驿站完成卸货的时刻之和。例如两个驿站卸货时间分别为 10 和 20先卸 10 的驿站完成时刻为 10 和 30总和 40先卸 20 的驿站完成时刻为 20 和 30总和 50。请你帮助商队求出最小的卸货完成时刻之和。输入第一行两个整数n和R1表示驿站数量和生成数列的首项。第i个驿站的卸货时间a i a_iai​ (R i R_iRi​% 100) 1其中数列R定义如下0 R i 202606 0 R_i 2026060Ri​202606给定对于i 1 i 1i1R i R_iRi​ (R i − 1 R_{i-1}Ri−1​* 615 1998) % 202606。输出输出一个整数表示最小的卸货完成时刻之和。数据范围1 n 1000 R i 202606 0 R_i 2026060Ri​202606输入样例110 2输出样例11491输入样例25 100输出样例2447输入样例38 50输出样例31390参考答案与解析一、单选题第1题答案C解析n120 100执行n 120 120/10 132。第2题答案B解析输入46表示a4, b6。交换后a6, b4输出6 4连写为64。第3题答案D解析循环逐位取出个位、十位、百位输出顺序为 7→2→5。第4题答案B解析字符1~9转换为数字后累加和为 45。第5题答案A. 3, 5, 1, 8解析第一轮冒泡5和3交换→3,5,8,18和1交换→3,5,1,8最大值8移到末尾。二、多选题第1题答案A、B、D解析for是关键字不能作为变量名。其余合法。第2题答案A、C、D解析i5每次循环前都判断不是只判断一次故B错误。第3题答案A、C、D解析cin s遇空格停止不能读取包含空格的字符串B错误。第4题答案A、B解析C和D计算的是副对角线ij4和a[i][4-i]不是主对角线。第5题答案A、B、C解析二分查找不要求元素互异只需有序故D错误。三、编程题第1题商队运费计算思路分析题目是典型的分段计费问题根据货物件数n落在哪个区间直接套用对应的公式即可无需循环或数组。区间1n ≤ 10总运费固定为5。区间210 n ≤ 30运费 前10件的5元 超出10件的部分每件2元即5 (n - 10) * 2。区间3n 30运费 前10件的5元 第11到30件共20件每件2元 超出30件的部分每件3元即5 20 * 2 (n - 30) * 3。数据范围n ≤ 1000结果用int完全足够。直接判断并输出即可。代码实现#includebits/stdc.husingnamespacestd;intmain(){intn;cinn;intans;// 总运费if(n10){// 不超过10件ans5;// 固定5元}elseif(n30){// 11~30件ans5(n-10)*2;// 前10件5元超出部分每件2元}else{// 超过30件ans520*2(n-30)*3;// 前10件5元中间20件每件2元超出每件3元}coutans;// 输出总运费return0;}第2题驼队补给思路分析题目要求依次判断区间[n, m]内的每个整数只要满足“个位是7”或“能被7整除”就输出yes否则输出no。判断个位是否为7i % 10 7。判断能否被7整除i % 7 0。两者用逻辑或||连接。因为要按从小到大的顺序输出直接从n循环到m即可。。代码实现#includebits/stdc.husingnamespacestd;intmain(){intn,m;cinnm;for(intin;im;i){// 遍历区间内每个编号if(i%107||i%70){// 个位是7 或 能被7整除coutyes\n;// 满足条件输出yes}else{coutno\n;// 否则输出no}}return0;}第3题文物定位图案思路分析本题要求输出一个N×N的“王”字形矩阵。行号和列号均从1开始计数。中间行和中间列的位置都是mid (N 1) / 2。逐行逐列输出字符若当前行是第1行、第mid行或第N行横线所在行则输出。否则若当前列是第mid列竖线所在列则输出|。其余位置输出a。当横线与竖线相交时按规则优先输出已在横线判断中优先处理。代码实现#includebits/stdc.husingnamespacestd;intmain(){intN;cinN;intmid(N1)/2;//中间行/列编号从1开始for(inti1;iN;i){//遍历行for(intj1;jN;j){//遍历列if(i1||imid||iN){//横线行首、中、末cout;//输出等号优先覆盖竖线}elseif(jmid){//竖线列非横线行cout|;//输出竖线}else{couta;//其余位置输出a}}coutendl;//每行结束换行}return0;}第4题商队驿站最优卸货思路分析本题要求合理安排卸货顺序使所有驿站完成时刻的总和最小。这是一个经典的单机调度问题最优策略为 **最短处理时间优先即将卸货时间按从小到大排序。对于任意两个任务若耗时分别为a和ba b先做a的总完成时间为a (ab) 2ab先做b的总完成时间为b (ab) a2b差值(2ab) - (a2b) a-b 0因此先做耗时短的更优。推广到多个任务升序排列可得到最小总完成时间。数据生成给定R1按递推公式R_i (R_{i-1} * 615 1998) % 202606生成后续R值。每个驿站的卸货时间x[i] (R_i % 100) 1。计算步骤根据R1生成x[1..n]。对x进行升序排序。依次累加当前完成时刻cur x[i]并将cur累加进答案ans。输出ans用long long防止溢出。代码实现#includebits/stdc.husingnamespacestd;intn,R1,x[110];//n驿站数R1首项x存卸货时间intmain(){cinnR1;//读入驿站数量和数列首项intRR1;//当前R值for(inti1;in;i){//生成每个驿站的卸货时间x[i](R%100)1;//根据公式计算卸货时间R(R*6151998)%202606;//按题目递推公式}sort(x1,xn1);//升序排序longlongcur0,ans0;//cur当前完成时刻ans总完成时刻之和for(inti1;in;i){curx[i];//当前驿站完成时刻anscur;//累加到总和}coutans;//输出最小总和return0;}关注老师的专栏查看完整版全国青少年信息素养大赛C备赛资料初赛复赛https://blog.csdn.net/weixin_66461496/category_12969975.html相关课程《全国青少年信息素养大赛C初赛真题试卷及答案解析》视频课https://www.bilibili.com/cheese/play/ss447406764相关课程《全国青少年信息素养大赛C复赛真题试卷及答案解析》视频课https://www.bilibili.com/cheese/play/ep2532538各种学习资料助力大家一站式学习和提升#includebits/stdc.husingnamespacestd;intmain(){cout########## 一站式掌握信奥赛知识! ##########;cout############# 冲刺信奥赛拿奖! #############;cout###### 课程购买后永久学习不受限制! ######;return0;}【秘籍汇总】完整csp信奥赛C学习资料1、csp/信奥赛C完整信奥赛系列课程永久学习https://edu.csdn.net/lecturer/7901 点击跳转2、CSP信奥赛C竞赛拿奖视频课https://edu.csdn.net/course/detail/40437 点击跳转https://edu.csdn.net/course/detail/41081 点击跳转3、csp信奥赛高频考点知识详解及案例实践CSP信奥赛C动态规划https://blog.csdn.net/weixin_66461496/category_13096895.html点击跳转CSP信奥赛C标准模板库STLhttps://blog.csdn.net/weixin_66461496/category_13108077.html 点击跳转信奥赛C提高组csp-s知识详解及案例实践https://blog.csdn.net/weixin_66461496/category_13113932.html 点击跳转4、csp信奥赛冲刺一等奖有效刷题题解信奥赛C普及组CSP-J一等奖通关刷题题单及题解https://blog.csdn.net/weixin_66461496/category_12673810.html 点击跳转信奥赛C普及组csp-j初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12808781.html 点击跳转信奥赛C提高组csp-s初赛复赛真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13125089.html 点击跳转5、GESP C考级真题题解GESP(C 一级二级三级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12858102.html 点击跳转GESP(C 四级五级六级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_12869848.html 点击跳转GESP(C 七级八级)真题题解持续更新https://blog.csdn.net/weixin_66461496/category_13117178.html 点击跳转· 文末祝福 ·#includebits/stdc.husingnamespacestd;intmain(){cout跟着王老师一起学习信奥赛C;cout 成就更好的自己 ;cout csp信奥赛一等奖属于你! ;return0;}