2026年全国青少年信息素养大赛算法应用主题赛(C++赛项模拟训练3:文末附答案)

张开发
2026/4/20 18:50:44 15 分钟阅读

分享文章

2026年全国青少年信息素养大赛算法应用主题赛(C++赛项模拟训练3:文末附答案)
2026年全国青少年信息素养大赛算法应用主题赛C赛项模拟训练3文末附答案5道单选5道多选4道编程一、单选题在计算驼队货物总重量时现有茶叶重量tea整数和丝绸重量silk整数要将两者相加后赋值给已定义变量total。下列语句正确的是 。A.total tea silk;B.tea silk total;C.total tea silkD.int total tea silk;某段丝绸之路需要判断是否经过绿洲如果变量hasOasis为true且距离下一绿洲dist小于100里则建议补充水源。下列条件表达式正确的是 。A.hasOasis dist 100B.hasOasis true dist 100C.hasOasis (dist 100)D. A、B、C 都正确有5件瓷器编号0~4破损情况用数组broken[5]存储1表示破损0表示完好。要输出第3件瓷器的状态正确语句是 。A.cout broken[3];B.cout broken(3);C.cout broken[2];D.cout broken;商队有10峰骆驼每峰载重load[i]斤。要使用for循环计算总载重循环变量i的范围正确的是 。A.for (int i 1; i 10; i)B.for (int i 0; i 10; i)C.for (int i 0; i 9; i)D. B 和 C 都正确丝绸商人根据货物总价打折若总价price≥ 5000 两打 7 折若 2000 ≤price 5000 两打 8 折若 1000 ≤price 2000 两打 9 折否则不打折。下列多分支if语句的写法中能正确实现上述逻辑的是 。A.if(price1000)discount0.9;elseif(price2000)discount0.8;elseif(price5000)discount0.7;elsediscount1.0;B.if(price5000)discount0.7;elseif(price2000)discount0.8;elseif(price1000)discount0.9;elsediscount1.0;C.if(price5000)discount0.7;if(price2000)discount0.8;if(price1000)discount0.9;elsediscount1.0;D.if(price1000)discount1.0;if(price2000)discount0.9;if(price5000)discount0.8;elsediscount0.7;二、多选题在C中以下哪些数据类型可以用于存储骆驼的载重单位斤可能为非整数 A.intB.floatC.doubleD.char关于函数的定义以下语法正确的有 。A.intsum(inta,intb){returnab;}B.voidprintHello(){coutHello;}C.intmultiply(intx,inty){returnx*y}D.floatdivide(floata,floatb){if(b0)return0;elsereturna/b;}以下关于break和continue语句的说法正确的有 。A.break只能用于循环语句中B.continue只能用于循环语句中C.break可以提前终止循环或switchD.continue会跳过本次循环中剩余语句继续下一次循环关于位运算仅考虑非负整数以下说法正确的有 。A.a 1等价于a * 2B.a 1等价于a / 2整除C.a 1可用于判断a的奇偶性D.a | 0等于a在C中关于局部变量和全局变量正确的有 。A. 局部变量只在定义它的函数内有效B. 全局变量在程序所有函数中都可以访问C. 局部变量与全局变量同名时局部变量优先D. 全局变量未初始化时默认为0三、编程题编程题1货物重量四舍五入到十斤背景商队从长安出发需要将每批货物的重量正整数按“四舍五入到十斤”进行粗略统计。例如57斤四舍五入到十斤为60斤52斤为50斤。请实现这个功能。输入格式一个整数w1 ≤ w ≤ 10000。输出格式一个整数表示四舍五入到十斤后的结果。样例输入157样例输出160样例输入252样例输出250编程题2骆驼编号查找背景有n峰骆驼每峰骆驼有一个唯一的编号正整数。商人想知道某特定编号的骆驼是否存在若存在输出它的位置从1开始计数否则输出0。输入格式第一行一个整数n1 ≤ n ≤ 100。第二行n个互不相同的整数表示骆驼编号。第三行一个整数target表示要查找的编号。输出格式一个整数表示目标编号在数组中的位置从1开始如果不存在则输出0。样例输入5 101 203 154 207 189 154样例输出3编程题3丝绸图案中的元音统计背景丝绸图案用一段英文描述仅含小写字母和空格无标点。请统计其中元音字母a, e, i, o, u出现的总次数不区分大小写但输入均为小写。输入格式一行字符串s长度1 ≤ |s| ≤ 200。输出格式一个整数表示元音字母的个数。样例输入silk road is beautiful样例输出9解释i,o,a,i,e,a,u,i,u → 9个编程题4丝路织机经纬线交错矩阵转置背景在丝绸织造中经线纵向和纬线横向形成织物纹理。现用一个n行m列的整数矩阵表示织机上的张力值。请实现矩阵转置即输出一个m行n列的矩阵其中第i行第j列的元素等于原矩阵第j行第i列的元素。输入格式第一行两个整数n, m1 ≤ n,m ≤ 20。接下来n行每行m个整数绝对值 ≤ 1000。输出格式输出m行每行n个整数表示转置后的矩阵每两个数之间用一个空格隔开行末无多余空格。样例输入2 3 1 2 3 4 5 6样例输出1 4 2 5 3 6参考答案与评分标准一、单选题AB等号左右两边内容反了 C语句少; D语句多intDA、B、C逻辑等价B中hasOasis true与hasOasis相同C中括号多余但正确C (编号0~4第1件编号0第2件编号1第3件编号2故输出broken[2])。DB和C都是0到9共10个正确B使用else if按从高到低的区间顺序判断避免覆盖二、多选题B, C载重可能非整数float和double均可int只能整数char太小A, B, DC缺少分号语法错误B, C, DA错误break还可以用于switchA, B, C, D全部正确A, B, C, D全部正确三、编程题参考代码编程题1#includebits/stdc.husingnamespacestd;intmain(){intw;// 定义整数变量w用于存储输入的货物重量cinw;// 从标准输入读取重量intremainderw%10;// 计算重量除以10的余数个位数// 根据四舍五入规则处理if(remainder5){// 如果个位数大于等于5则向上取整ww-remainder10;// 去掉个位数后加10例如57 - 57-71060}else{// 如果个位数小于5则向下取整ww-remainder;// 直接去掉个位数例如52 - 52-250}coutwendl;// 输出四舍五入到十斤后的结果return0;}编程题2#includebits/stdc.husingnamespacestd;intmain(){intn,target;// n: 骆驼总数, target: 要查找的目标编号cinn;// 输入骆驼数量intids[100];// 定义数组存储骆驼编号最大100个for(inti0;in;i){// 循环读取n个编号cinids[i];// 将编号存入数组}cintarget;// 输入要查找的目标编号intpos0;// 初始化位置为00表示未找到for(inti0;in;i){// 遍历数组if(ids[i]target){// 如果当前编号等于目标编号posi1;// 记录位置数组下标从0开始位置需1break;// 找到后立即退出循环}}coutposendl;return0;}编程题3#includebits/stdc.husingnamespacestd;intmain(){string s;// 定义字符串变量s用于存储输入的文本getline(cin,s);// 读取整行包括空格存入sintcnt0;// 计数器初始为0用于统计元音个数// 使用范围for循环遍历字符串中的每个字符for(charc:s){// 判断当前字符是否为元音字母a, e, i, o, uif(ca||ce||ci||co||cu){cnt;// 是元音则计数器加1}}coutcntendl;// 输出元音的总个数return0;}编程题4#includebits/stdc.husingnamespacestd;intmain(){intn,m;cinnm;// 输入原矩阵的行数n和列数minta[30][30];// 定义二维数组// 输入原矩阵下标从1开始for(inti1;in;i){// i从1到nfor(intj1;jm;j){// j从1到mcina[i][j];// 存入a[i][j]}}// 输出转置矩阵原矩阵的列变成行原矩阵的行变成列for(intj1;jm;j){// 外层循环原矩阵的列转置后的行for(inti1;in;i){// 内层循环原矩阵的行转置后的列couta[i][j];// 输出转置后的元素if(in)cout ;// 行内除最后一个元素外输出空格}coutendl;// 每行结束后换行}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;}

更多文章