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

下载本文档

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

文档简介

2024年全国青少年信息素养大赛C++算法创意实践挑战赛(小学组_复赛_浙江)真题(含答案)一、编程题。1.计算长方形面积。题目描述:在一个宁静的小镇上,有位园丁想为她的玫瑰花地建围栏。这片花地是个长方形,长度10米,宽度5米。但园丁不知道怎么计算玫瑰花地的面积,于是他向小兔子求助。聪明的小兔子告诉园丁:“要计算长方形的面积,只需将长度乘以宽度”。于是,园丁算出玫瑰花地的面积是50平方米。现在园丁又开辟了一块玫瑰花地,形状也是规则的长方形,园丁通过上面的方法计算出玫瑰花地的面积。输入描述:一行,两个正整数ab,中间用空格隔开,分别代表长方形的长和宽。输出描述:一行,一个正整数,代表玫瑰花地的面积。样例1:输入:11输出:1样例2:输入:105输出:50提示:保证a和b均为不超过10000的正整数。参考程序:#include<iostream>usingnamespacestd;intmain(){longlonga,b;cin>>a>>b;cout<<a*b;return0;}2.判断三角形类型。题目描述:在一个小镇上,有一位名叫艾米的小女孩,她非常喜欢观察各种形状。一天,她在公园里发现了一块奇特的三角形玻璃。这块玻璃不仅外形完美,还能反射出七彩的光芒。艾米觉得这块玻璃一定有神秘的力量,于是她把它带回家仔细研究。几天后,艾米发现这块三角形玻璃可以用来聚焦阳光,点燃火柴。这个发现让她惊喜不已,也激发了她对科学的浓厚兴趣。现在艾米想知道这块三角形玻璃的形状:①如果三角形的三条边都相等,那么这个三角形是等边三角形。②如果三角形中有两条边的长度相等,那么这个三角形是等腰三角形。③如果三角形的一条边长的平方等于另外两条边长的平方和,那么这个三角形是直角三角形。输入三角形的三边长度,判断该三角形是等腰三角形、直角三角形还是等边三角形。(输入数据保证能构成三角形)。如果是等腰三角形,输出"Isoscelesglass"。如果是等边三角形,输出"Equilateralglass"。如果是直角三角形,输出"Rightangleglass"。如果三者都不是,输出"None"。输入描述:输入只有一行,三个正整数,代表三角形的三条边长,之间用空格隔开。输出描述:输出只有一行,一个字符串。样例1:输入:100110011输出:Isoscelesglass样例2:输入:345输出:Rightangleglass样例3:输入:578输出:None提示:输入的正整数不超过10000,保证三角形属于且只属于4种情况之一。虽然等边三角形也满足等腰三角形的条件,但在本题中判定为等边三角形。参考程序:#include<iostream>usingnamespacestd;intmain(){inta,b,c;cin>>a>>b>>c;if(a==b&&b==c){cout<<"Eguilateralglass";}elseif(a==b||a==c||b==c){cout<<"Isoscelesglass";}elseif(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a){cout<<"Rightangleglass";}else{cout<<"None";}return0;}3.柜子操作。题目描述:小男孩汤姆在家里的旧柜子里发现了一本古老的日记。日记中记录了一个失落王国的秘密和一条通往宝藏的路径。好奇心驱使他按照日记的指引,找到了一扇隐藏在树林深处的石门。打开石门后,他进入了一个神秘的地下世界,里面充满了奇珍异宝。回到家后,汤姆把日记放回柜子,从此期待每一次新的探索与发现。小男孩汤姆家的柜子是一个长方体,由很多小柜子组成。汤姆一共有n次操作,分为两种类型:【第一种类型】Mijk:汤姆往第i行第j列的柜子里存入日记,并在日记上面写下编号k。【第二种类型】Nij:汤姆取出第i行第j列柜子里的日记,输出日记的编号(保证取出的柜子里有日记)。输入描述:输入一共n+1行:第一行只有一个整数n,表示操作次数;接下来n行,每行表示一次操作,M代表第一种类型,N代表第二种类型,具体操作如题目描述所示。输出描述:对于每次查询操作,输出答案,以换行符隔开。样例1:输入:2M234N23输出:4样例2:输入:4M310001101M111N31000N11输出:11011提示:保证行数1<=i<=1000,列数1<=j<=1000,编号1<=k<=10000。参考程序:#include<iostream>usingnamespacestd;intmain(){shortn,a[1001][1001],x,y,k;chart;cin>>n;for(inti=1;i<=n;i++){cin>>t;if(t=='M'){cin>>x>>y>>k;a[x][y]=k;}else{cin>>x>>y;cout<<a[x][y]<<endl;}}return0;}4.计算格子地板中的正方形数量。题目描述:在一个神奇的王国里,有一块n行m列的格子地板。每个格子都是一个正方形,里面藏着一个秘密。小男孩阿力得到了一张古老的地图,上面标注了这些格子的谜题和宝藏。每天放学后,阿力都会来到这片地板上解开一个新的谜题。有时是数学问题,有时是历史故事,还有时是自然现象。随着他不断探索,他不仅找到了许多宝藏,还学到了无数知识。最终,阿力成为了村里最聪明的小孩,而那片格子地板也成了他心中永远的冒险乐园。阿力想知道格子地板里包含多少个正方形,他需要想出一个高效的办法。输入描述:输入只有一行,两个整数nm,中间用空格隔开,代表格子地板大小为n行m列。输出描述:输出只有一行,一个整数,代表格子地板里包含多少个正方形。样例1:输入:24输出:11提示:保证n和m均为不超过100的正整数。参考程序:#include<iostream>usingnamespacestd;intmain(){intn,m;cin>>n>>m;//输入行数和列数。intcount=0;//遍历所有可能的正方形边长。for(intk=1;k<=min(n,m);k++){count+=(n-k+1)*(m-k+1);}cout<<count<<endl;//输出正方形总数。return0;}5.字符串操作。题目描述:从前有一个叫做小A的字符串,它住在编程世界的字符村。小A喜欢和其他字符交朋友,比如空格、逗号和字母B。有一天,小A遇到了一个神秘的函数,这个函数告诉它,只要加入更多的字符,就能变成更强大的字符串。于是,小A开始了冒险,结识了字符'1'、符号#,甚至还有换行符'\n'。最终,小A成为了一个长长的、有意义的句子,实现了自己的梦想。在这个过程中,小A明白了合作的重要性,也找到了自己在代码中的位置。小A在旅途中遇到了很多字符串str,随着小A不断的结交朋友,它的长度也逐渐变长,具体有两种变长操作:Fstr:前插入。表示在字符串小A前面插入字符串str。Bstr:后插入。表示在字符串小A后面插入字符串str。R:表示反转整个字符串。规定字符串小A的初始模样和每次操作的str都不含空格或换行。请你计算出字符串小A旅途结束后的模样。输入描述:输入共n+2行:第一行,输入一个正整数n,表示操作次数。第二行,输入一个字符串str,表示文档最开始的字符串。从第三行开始,往下n行,每行表示一个操作。输出描述:输出只有一行,一个字符串。样例1:输入:3TomFhtButR输出:tumoTth提示:保证操作次数1<=n<=1000,字符串小A的初始长度和每次插入的字符串str的长度均不大于100。参考程序:#include<iostream>#include<string>#include<algorithm>usingnamespacestd;intmain(){intn;strings;cin>>n>>s;boolreversed=false;for(inti=0;i<n;++i){stringop;cin>>op;if(op=="F"||op=="B"){stringstr;cin>>str;if(op=="F"){if(!reversed){s=str+s;}else{reverse(str.begin(),str.end());s+=str;}}else{//B操作。if(!reversed){s+=str;}else{reverse(str.begin(),str.end());s=str+s;}}}else{//R操作。reversed=!reversed;}}if(reversed){reverse(s.begin(),s.end());}cout<<s<<endl;return0;}6.判断水平相当的同学对数。题目描述:游泳是一项广受欢迎的运动和娱乐活动,期末考试项目包括自由泳、仰泳、蛙泳和蝶泳一共四门课程,每门成绩均为不超过100的整数。John和Mary这两位同学四门课总分的差值不超过20分,并且每门课成绩的差值都不超过10分,那么老师就可以把John和Mary认定为水平相当。班里一共有n名同学,现在老师想知道这n名同学中,有多少对同学水平相当。输入描述:输入一共n+1行:第一行只有一个正整数n,代表n名同学。接下来n行,每行四个不超过100的整数,分别代表每位同学的自由泳、仰泳、蛙泳和蝶泳成绩,之间用空格隔开。输出描述:输出只有一行,一个数字,代表有几对同学水平相当。样例1:输入:4858585859095858756100918267923178输出:1提示:保证人数1<=n<=1000。参考程序:#include<bits/stdc++.h>usingnamespacestd;structstudent{intz;inty;intw;intd;intzongfen;};studenta[1010];intn;inttongji;intmain(){cin>>n;for(inti=1;i<=n;i++){cin>>a[i].z>>a[i].y>>a[i].w>>a[i].d;a[i].zongfen=a[i].z+a[i].y+a[i].w+a[i].d;}for(inti=1;i<=n;i++){for(intj=i;j<=n;j++)if(i!=j){

温馨提示

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

评论

0/150

提交评论