2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)_第1页
2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)_第2页
2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)_第3页
2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)_第4页
2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组-复赛)真题(含答案)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2025年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组_复赛)真题(含答案)一、单选题。1.在C++中,以下代表布尔类型的?()。A.doubleB.boolC.intD.char标准答案:B。2.执行以下程序,输出的结果?()。intx=1,y=2;intz=(7*x+11*y)-11;cout<<z<<endl:A.12B.13C.18D.20标准答案:C。3.执行以下程序,输出的结果?()。inta=28,b=10;if(a<=10){b=5;}elseif(a<=20){b=15;}else{b=25;}cout<<b<<endl;A.0B.5C.15D.25标准答案:D。4.下列符号中表示逻辑运算符"或者"的?()。A.&B.&&C.|D.||标准答案:D。5.执行以下代码,程序输出的结果?()。#include<iostream>usingnamespacestd;intmain(){intcnt=0;for(inti=0;i<=2;i++){for(intj=0;j<=4;j++){cnt+=i*j;}}cout<<cnt<<endl;return0;}A.18B.16C.24D.30标准答案:D。二、编程题。6.学校组织植树活动,每个班级都需要种植固定数量的树苗。已知共有若干个班级参与,请问总共需要准备多少棵树苗?输入描述:一行,两个正整数m和n,分别表示每个班级分到的树苗数量和班级数量。输出描述:一行,一个正整数,表示需要准备的树苗数量。样例1:输入:610输出:60提示:数据范围:0<m,n<=10000。参考程序:#include<iostream>usingnamespacestd;intmain(){intm,n;cin>>m>>n;//输入每个班树苗数m,班级数n。cout<<m*n<<endl;//总树苗=每班数量×班级数。return0;}7.给定n和t,将1到n之间的所有正整数分为两类:A类数可以被t整除(也就是说是t的倍数),而B类数不能。请输出这两类数的和。输入描述:一行,两个正整数n和t。输出描述:一行,两个正整数,分别表示A类数的和、B类数的和,两者用空格间隔。样例1:输入:207输出:21189提示:数据范围:1<=n<=10000。1<=t<=1000。参考程序:#include<iostream>usingnamespacestd;intmain(){intn,t;cin>>n>>t;intk=n/t;//t的倍数的个数。intsumA=t*k*(k+1)/2;//A类数的和。intsumTotal=n*(n+1)/2;//1~n总和。intsumB=sumTotal-sumA;//B类数的和。cout<<sumA<<""<<sumB<<endl;return0;}8.某智慧农业监测系统需要根据作物生长周期动态调整灌溉方案。系统发现不同年份月份的灌溉天数计算模块存在误差,特别是闰年二月天数计算不准确。请编写程序实现历法校验功能,精确计算指定年份月份对应的自然日数。输入描述:两行,两个正整数,分别表示年份y和月份m,用空格隔开。输出描述:一行,一个正整数,表示这个月有多少天。样例1:输入:20242输出:29样例2:输入:20183输出:31提示:数据范围:1600<=y<=2030。1<=m<=12。参考程序:#include<iostream>usingnamespacestd;//判断是否为闰年。boolisLeapYear(inty){if(y%400==0)returntrue;if(y%100==0)returnfalse;if(y%4==0)returntrue;returnfalse;}//获取对应月份的天数。intgetDaysInMonth(inty,intm){switch(m){case4:case6:case9:case11://小月。return30;case2://二月。returnisLeapYear(y)?29:28;default://大月。return31;}}intmain(){inty,m;cin>>y>>m;cout<<getDaysInMonth(y,m)<<endl;return0;}9.在星际通信系统中,传输的数字会因宇宙射线干扰而倒序。请编写程序对接收到的n个干扰数字进行修复,输出每个数字原始的正确值。修复规则:将每个数字的各位数完全翻转(例如:123修复为321,120修复为21)。输入描述:第一行,一个整数n。第二行n个正整数ai,表示接收到的干扰数字。输出描述:一行n个整数,表示修复后的正确数字,用空格分隔。样例1:输入:312332078输出:3212387提示:数据范围:1<=n<=1000。1<=ai<=109。参考程序:#include<iostream>#include<vector>usingnamespacestd;intreverseNumber(intnum){if(num==0)return0;//0翻转后仍然是0。intreversed=0;inttemp=abs(num);//处理负数,先取绝对值。while(temp>0){reversed=reversed*10+temp%10;temp/=10;}returnnum<0?-reversed:reversed;//如果是负数,返回负的反转数。}intmain(){intn;cin>>n;vector<int>nums(n);for(inti=0;i<n;i++){cin>>nums[i];}for(inti=0;i<n;i++){cout<<reverseNumber(nums[i])<<"";}cout<<endl;return0;}10.有n个小球摆成一排,第i个小球的颜色为ci,在这一排小球中,你可以选择其中连续的K个小球并且获得他们。你喜欢五彩缤纷的颜色,所以你获得的小球不同颜色越多,就越高兴,输出你能获得的最多的小球颜色数。输入描述:第一行,两个数字n和k,表示一共有多少个小球,以及你可以选择获得其中连续的K个小球。第二行,n个数字,表示每个小球的颜色ci。输出描述:一行,一个整数,表示你能获得的最多小球的颜色数量。样例1:输入:731212331输出:3样例2:输入:1061313412112输出:4提示:1<=k<=n<=300000。1<=ci<=300000。参考程序:#include<iostream>#include<vector>usingnamespacestd;intmaxColors(intn,intk,vector<int>&c){vector<int>colorCount(300001,0);//记录每种颜色出现次数。intmaxUnique=0;//答案:最多颜色数。intunique=0;//当前窗口颜色数。//第一步:先统计前K个球。for(inti=0;i<k;++i){if(colorCount[c[i]]==0){//颜色第一次出现。unique++;}colorCount[c[i]]++;}maxUnique=unique;//第二步:滑动窗口!for(inti=k;i<n;++i){//删掉左边出去的颜色。if(colorCount[c[i-k]]==1){unique--;}colorCount[c[i-k]]--;//加入右边新进来的颜色。if(colorCount[c[i]]==0){unique++;}colorCount[c[i]]++;//更新最大值。if(unique>maxUnique){maxUnique

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论