2026年全国青少年信息素养大赛算法应用主题赛(C++赛项模拟训练4:文末附答案)
2026年全国青少年信息素养大赛算法应用主题赛C赛项模拟训练4文末附答案5道单选5道多选4道编程一、单选题商队在某段路上需要判断是否遇到沙尘暴如果风沙等级sandLevel大于等于5或者能见度visibility小于50米则停止前进。下列条件表达式正确的是 。A.sandLevel 5 || visibility 50B.sandLevel 5 visibility 50C.sandLevel 5 or visibility 50D.sandLevel 5 | visibility 50商队需要判断是否在日落前到达下一个驿站当前时间hour0~23整数加上剩余行程所需小时need后如果大于等于18则无法到达。下列条件表达式正确的是 。A.hour need 18B.hour need 18C.(hour need) 18D. A和C都正确有8件丝绸样品用数组color[8]存储颜色代码整数。要输出第2个样品的颜色代码正确的语句是 。A.cout color[2];B.cout color[1];C.cout color(1);D.cout color[0];以下哪个循环语句可以正确计算1到100之间所有奇数的和 A. for (int i1; i100; i2) sum i;B. for (int i1; i100; i) if(i%20) sum i;C. for (int i1; i100; i) if(i%2!0) sum - i;D. for (int i1; i100; i) sum i;根据骆驼的年龄整数age决定每天的食物配额年龄小于3岁配额5斤3~7岁含配额8斤大于7岁配额6斤。下列if-else结构正确的是 。A.if(age3)quota5;elseif(age7)quota8;elsequota6;B.if(age3)quota5;if(age3age7)quota8;elsequota6;C.if(age3)quota5;if(age7)quota8;elsequota6;D.if(age3)quota5;elseif(age7)quota8;elsequota6;二、多选题在C中以下哪些是合法的注释方式 A.// 这是一条注释B./* 多行注释 */C.# 这是Python风格的注释D.!-- HTML注释 --关于do-while循环以下说法正确的有 。A. 循环体至少执行一次B. 循环条件写在while后面的括号中C. 循环体后面必须跟分号D. 可以用break退出循环关于二维数组int a[3][4];以下访问方式正确的有 。A.a[0][0] 5;B.a[2][3] 10;C.a[3][4] 15;D.a[1][2] 20;关于逻辑运算符的短路特性以下说法正确的有 。A. 对于A B如果A为假则不再计算BB. 对于A || B如果A为真则不再计算BC. 短路特性可以提高程序效率D. 短路特性可能导致某些副作用被跳过下列选项中可以作为switch语句中表达式类型的有 。A.intB.charC.floatD.bool三、编程题编程题1货物总价与折扣背景丝路商人销售三种货物丝绸、茶叶、瓷器。单价分别为丝绸 25两/匹茶叶 12两/斤瓷器 30两/件。输入购买的数量计算总价。如果总价超过500两则打9折否则不打折。输出最终应付金额整数折扣后若有小数则向下取整。输入格式一行三个整数a, b, c分别表示丝绸匹数、茶叶斤数、瓷器件数0 ≤ a,b,c ≤ 100。输出格式一个整数表示应付金额。样例输入10 5 3样例输出400解释总价10×255×123×302506090400未超500输出400编程题2驼队编号的二进制表示中1的个数背景每峰骆驼有一个编号正整数。商人想统计编号的二进制表示中有几个1例如编号5101有两个1。请编写程序实现。输入格式一个整数n1 ≤ n ≤ 10^6。输出格式一个整数表示二进制中1的个数。样例输入13样例输出3解释13的二进制1101有三个1编程题3丝绸图案中的最长连续相同字符背景丝绸图案用一串字符表示仅含小写字母。工匠想找出最长的连续相同字母的长度。例如字符串aaabbccccda中最长连续相同字符是c长度为4。请输出该长度。输入格式一行字符串s长度1 ≤ |s| ≤ 200。输出格式一个整数表示最长连续相同字符的长度。样例输入abbbccdaa样例输出3编程题4丝路城镇距离矩阵中的最短路径背景丝绸之路沿途有n个城镇已知它们之间的直接道路距离双向若没有直接道路则距离为一个大数9999。请计算任意两个城镇之间的最短距离并输出从城镇1到城镇n的最短距离。输入格式第一行一个整数n2 ≤ n ≤ 30。接下来n行每行n个整数表示距离矩阵第i行第j列表示城镇i到j的直接距离ij时为0。输出格式一个整数表示从城镇1到城镇n的最短距离。样例输入3 0 10 9999 10 0 5 9999 5 0样例输出15解释1→2→3距离10515参考答案一、单选题ADA和C等价B第2个样品下标为1AB计算偶数C减法错误D是所有数相加DA中else if(age7)包含3-7正确B中第二个if缺少else会导致age3时执行if(age7)也为真quota被覆盖为8C中如果age2第二个if age7为真quota被改为8错误。D、age7少了等号二、多选题A, BC是Python或shell注释D是HTML注释C不支持A, B, C, D全部正确注意Cdo{...}while(条件);分号必须有A, B, DC越界最大下标2和3A, B, C, D全部正确A, B, DC中float不能用于switch会编译错误三、编程题参考代码编程题1#includebits/stdc.husingnamespacestd;intmain(){inta,b,c;// a:丝绸匹数, b:茶叶斤数, c:瓷器件数cinabc;// 计算总价inttotala*25b*12c*30;// 若总价超过500两打9折并向下取整if(total500){// 使用整数运算乘以9再除以10自动向下取整C整数除法截断totaltotal*9/10;}// 输出最终应付金额整数couttotalendl;return0;}编程题2#includeiostreamusingnamespacestd;intmain(){intn;// 骆驼编号intcnt0;// 二进制中1的个数计数器cinn;// 输入编号// 循环直到 n 变为 0while(n0){if(n%21){// 如果 n 除以 2 的余数为 1说明当前最低位是 1cnt;// 计数加1}nn/2;// 将 n 除以 2相当于右移一位去掉最低位}// 输出二进制中1的个数coutcntendl;return0;}编程题3#includebits/stdc.husingnamespacestd;intmain(){string s;// 定义字符串变量存储输入的丝绸图案cins;// 读取一行字符串不含空格intmaxLen1;// 最长连续相同字符的长度至少为1字符串非空intcurLen1;// 当前正在统计的连续相同字符的长度// 从第二个字符开始遍历与前一字符比较for(size_t i1;is.size();i){if(s[i]s[i-1]){// 当前字符与前一个字符相同curLen;// 当前连续长度加1if(curLenmaxLen){// 如果超过历史最大值maxLencurLen;// 更新最大值}}else{// 当前字符与前一个字符不同curLen1;// 重置当前连续长度为1新字符开始}}coutmaxLenendl;// 输出最长连续相同字符的长度return0;}编程题4#includebits/stdc.husingnamespacestd;constintINF9999;// 定义无穷大表示两城镇之间没有直接道路intmain(){intn;cinn;// 输入城镇数量// 定义距离矩阵intd[40][40];// 读入距离矩阵第 i 行第 j 列表示城镇 i 到 j 的直接距离for(inti1;in;i){for(intj1;jn;j){cind[i][j];}}// Floyd算法求所有点对之间的最短路径// 三重循环k 作为中间点i 和 j 分别为起点和终点for(intk1;kn;k){// 枚举中间城镇 kfor(inti1;in;i){// 枚举起点 ifor(intj1;jn;j){// 枚举终点 j// 如果经过 k 的路径比当前已知的 i→j 路径更短则更新if(d[i][k]d[k][j]d[i][j]){d[i][j]d[i][k]d[k][j];}}}}// 输出从城镇 1 到城镇 n 的最短距离coutd[1][n]endl;return0;}关注老师的专栏查看完整版全国青少年信息素养大赛C备赛资料初赛复赛https://blog.csdn.net/weixin_66461496/category_12969975.html各种学习资料助力大家一站式学习和提升#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 点击跳转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信奥赛冲刺一等奖有效刷题题解CSP信奥赛C初赛及复赛高频考点真题解析持续更新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;}