2025年1月第16届蓝桥杯C++编程青少组(选拔赛-中高级)真题(含答案)_第1页
2025年1月第16届蓝桥杯C++编程青少组(选拔赛-中高级)真题(含答案)_第2页
2025年1月第16届蓝桥杯C++编程青少组(选拔赛-中高级)真题(含答案)_第3页
2025年1月第16届蓝桥杯C++编程青少组(选拔赛-中高级)真题(含答案)_第4页
2025年1月第16届蓝桥杯C++编程青少组(选拔赛-中高级)真题(含答案)_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

2025年1月第16届蓝桥杯C++编程青少组(选拔赛_中高级)真题(含答案)一、单选题。1.表达式(4-2)*3+1的值是()。A.-1B.7C.8D.-4标准答案:B。2.下列选项中,哪个关键字的作用是读取输入数据?()。A.cinB.coutC.cerrD.clog标准答案:A。3.运行以下程序,输出的结果是()。intsum=0;for(inti=1;i<=30;i++)if(i%5==4)sum+=i;cout<<sum;A.95B.97C.99D.101标准答案:C。4.定义二维数组inta[3][3]={{3,1,6},{7,4,5},{0,8,9}}。请问a[1][2]-a[2][1]的结果是()。A.-6B.4C.-3D.2标准答案:C。5.运行以下程序,输出的结果是()。voidfoo(intarr[],intsize){for(inti=0;i<size;++i)arr[i]+=i;}intbar(intn){if(n<=1)return1;returnn*bar(n-2);}intmain(){intarr[5]={1,2,3,4,5};foo(arr,5);intresult=0;for(inti=0;i<5;++i)result+=bar(arr[i]);cout<<"Result="<<result;return0;}A.Result=1066B.Result=1067C.Result=1068D.Result=1069标准答案:D。二、编程题。6.购买苹果。题目描述:每箱苹果价值n元,购买m箱苹果,需要多少钱。输入描述:输入两个整数n和m(1≤n≤50,1≤m≤100),分别表示每箱苹果的价格及购买苹果的箱数,整数之间以一个空格隔开。输出描述:输出一个整数,表示购买m箱苹果需要的钱数。样例输入:1030样例输出:300参考程序:#include<iostream>usingnamespacestd;intmain(){intn,m;cin>>n>>m;cout<<n*m;return0;}7.分南瓜。提示信息:奇数,指不能被2整除的整数。例如:3、5、7都是奇数。题目描述:农场有3块农田,每块农田有若干个南瓜,小夏希望将每块农田的南瓜分成两份,要求每份中的南瓜数量均为奇数。请帮助小夏逐一判断每块农田中南瓜的数量能否满足要求。例如:3块农田中南瓜的数量依次为6,8,7。第1块农田中南瓜数量为6,可以分为3和3两份,均为奇数,满足条件。第2块农田中南瓜数量为8,可以分为1和7两份,均为奇数,满足条件。第3块农田中南瓜数量为7,无论如何分配,都无法确保两份南瓜的数量均为奇数,因此不满足条件。输入描述:一行输入3个整数(2≤整数≤500),分别表示每块农田中南瓜的数量,整数之间以一个空格隔开。输出描述:输出3个整数,依次表示对应农田中南瓜的数量是否满足分配要求,如果满足输出1,否则输出0,整数之间以一个空格隔开。样例输入:687样例输出:110参考程序:#include<iostream>usingnamespacestd;intmain(){inta,b,c;cin>>a>>b>>c;cout<<(a%2==0?1:0)<<""<<(b%2==0?1:0)<<""<<(c%2==0?1:0);return0;}8.超级幸运数。题目描述:乐乐有两个幸运数字,分别是4和7。如果一个整数满足以下两个条件中的任意一个,乐乐就会称其为超级幸运数。条件如下:(1)整数中各数位上的数字都是幸运数字,例如4、47、444。(2)整数中数位上所包含的所有幸运数字的总数是幸运数字,例如414177(其中包含了2个4和2个7,共有4个幸运数字)。给定n个整数,请判断其中有多少个超级幸运数。例如:n=3,3个整数分别为74、417、40444444。整数74是超级幸运数,因为数位上的7和4都是幸运数字,满足条件1。整数417不是超级幸运数,因为数位中1不是幸运数字,不满足条件1,且数位中幸运数字的总数是2,2不是幸运数字,不满足条件2。整数40444444是超级幸运数,因为40444444的数位中幸运数字的总数是7,7是幸运数字,满足条件2。综上所述,共有2个超级幸运数。输入描述:第一行输入一个整数n(1≤n≤1000)。第二行输入n个整数(1≤整数≤109),整数之间以一个空格隔开。输出描述:输出一个整数,表示超级幸运数的数量。样例输入:37441740444444样例输出:2参考程序:#include<iostream>#include<string>usingnamespacestd;intmain(){intn;cin>>n;intsuperLuckyCount=0;for(inti=0;i<n;i++){longlongnum;cin>>num;strings=to_string(num);boolcondition1=true;intcount47=0;//遍历每个字符。for(charc:s){if(c=='4'||c=='7'){count47++;}else{condition1=false;}}boolcondition2=(count47==4||count47==7);if(condition1||condition2){superLuckyCount++;}}cout<<superLuckyCount<<endl;return0;}9.单词验证。题目描述:小丁在学习英语单词时发现,某些单词如果删除若干字母后(不改变剩余字母的顺序)可得到另一个单词。现有N组数据,每组数据中给定两个仅包含小写字母的字符串,表示初始单词s和目标单词t,请判断对于每组数据,能否从s中删除零个或多个字母得到t,如果能得到输出"YES",否则输出"NO"。例如:N=2,两组数据如下:(1)s="adventure",t="avenue",删除"adventure"中的第2、6、8个字母可得到"avenue",故输出YES。(2)s="good",t="no",无论怎么删除都无法得到t,故输出NO。输入描述:第一行输入一个正整数N(1≤N≤1000),表示数据组数。接下来N行,每行输入两个仅包含小写字母的字符串,分别表示初始单词s(1≤s的长度≤500)和目标单词t(1≤t的长度≤500),字符串之间以一个空格隔开。输出描述:共N行,每行输出一个字符串,如果能从初始单词s中删除零个或多个字母得到目标单词t,输出"YES",否则输出"NO"。样例输入:2adventureavenuegoodno样例输出:YESNO参考程序:#include<iostream>#include<string>usingnamespacestd;boolcanForm(strings,stringt){inti=0,j=0;while(i<s.size()&&j<t.size()){if(s[i]==t[j])j++;i++;}returnj==t.size();}intmain(){intN;cin>>N;while(N--){strings,t;cin>>s>>t;cout<<(canForm(s,t)?"YES":"NO")<<endl;}return0;}10.小球的重量。题目描述:有n个小球,编号为1到n,所有小球的重量均不相等。按照编号顺序,依次给出1到n-1号小球与其他小球的重量比较关系(<表示小于,>表示大于)。请找出重量第k大的小球,并输出其编号。例如:n=4,有4个小球,比较关系如下:1号小球与2、3、4号小球的重量比较关系:小于2号,小于3号,大于4号;用"<<>"表示。2号小球与3、4号小球的重量比较关系:大于3号,大于4号;用">>"表示。3号小球与4号小球的重量比较关系:大于4号;用">"表示。根据上述比较关系可得,按照重量由大到小排序后小球的编号分别为:2、3、1、4;当k=3时,重量第3大的小球编号为1。输入描述:共n+1行。第一行输入一个整数n(1≤n≤2000),表示小球的数量。第二行输入n-1个字符,字符为'>'或'<',依次表示1号小球与2、3、…、n号小球的重量比较关系。第三行输入n-2个字符,字符为'>'或'<',依次表示2号小球与3、4、…、n号小球的重量比较关系。…第n行输入1个字符,字符为'>'或'<',表示n-1号小球与n号小球的重量比较关系。以上输入中,同一行字符之间以一个空格隔开。第n+1行输入一个整数k(1≤k≤n)。输出描述:输出一个整数,表示重量第k大的小球编号。样例输入:4<<>>>>3样例输出:1参考程序:#include<iostream>#include<vector>usingnamespacestd;intmain(){intn;cin>>n;vector<vector<char>>comp(n,vector<char>(n,0));//读取并构建比较矩阵。for(inti=0;i<n-1;i++){for(intj=i+1;j<n;j++){cin>>comp[i][j];comp[j][i]=(comp[i][j]=='<')?'>':'<';}}//计算比每个球重的数量。vector<int>heavierCount(n,0);for(inti=0;i<n;i++){for(intj=0;j<n;j++){if(i!=

温馨提示

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

评论

0/150

提交评论