文库 真题 蓝桥杯真题

蓝桥杯青少组C++组别10级编程练习真题(第6套,共10套)

蓝桥杯青少组10级真题 蓝桥杯C++真题 DOCX   6页   下载5   2024-02-15   浏览137   收藏13   点赞6   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别10级编程练习真题(第6套,共10套) 第1页
蓝桥杯青少组C++组别10级编程练习真题(第6套,共10套) 第2页
剩余4页未读, 下载浏览全部
蓝桥等考C++组别 十 级 第一部分:选择题 1、C++ L10 (15分) 以下是数组a的定义,这个数组有多少个元素?( ) int a[10]; 9 10 11 无限多 正确答案:B 2、C++ L10 (15分) 数组元素在内存中按顺序存放,它们的存储地址是连续的。数组a的第一个元素a[0]的地址是A,每个元素的长度是2,则第五个元素a[4]的地址是( )。 A + 10 A + 8 A A + 9 正确答案:B 3、C++ L10 (20分) 一个整数序列有N个数,按顺序存储在数组a中(a[0], a[1], ..., a[N-1])。下面哪段程序可以将整数t插入到数组索引为k的位置(索引从0开始 ,如:原数列为 3 , 4 , 5 ,将7插入在索引为1的位置后,数列变成 3 , 7 , 4 , 5)? ( ) a[k] = t; for(int i = k + 1; i <= N; i++) { a[i] = a[i - 1]; } for(int i = k + 1; i <= N; i++) { a[i] = a[i - 1]; } a[k] = t; for(int i = N; i > k; i--) { a[i] = a[i - 1]; } a[k - 1] = t; for(int i = N; i > k; i--) { a[i] = a[i - 1]; } a[k] = t; 正确答案:D 第二部分:编程题 4、 C++ L10 倒序输出数列片段( 2 0分) 题目名称: 倒序输出数列片段 题目描述: 给定一个长度为n的数列,要求截取其中从第x个元素到第y个元素的片段并倒序输出。 例如,当 n = 10 , x = 4 ,y = 8 : 数列为: 1 2 3 4 5 6 7 8 9 10 倒序输出 数列的第 4 个到第 8 个元素为8 7 6 5 4 输入: 输入有 2 行,第1行是 3 个正整数,分别是: n( 1 < = n <= 50 ) ,表示 数列的长度; x( 1 < = x <= n ),表示片段的起始元素序号; y( x < = y <= n ),表示片段的截止元素序号;相邻两个数之间用一个空格隔开。 第2行包含n个 整数 (0~1 0000 ),表示数列的元素,相邻两个数之间用一个空格隔开。 输出: 共1行,表示倒序输出数列从第x个元素到第y个元素的片段,相邻两个数之间用一个空格隔开。 输入样例: 10 4 8 1 2 3 4 5 6 7 8 9 10 输出样例: 8 7 6 5 4 参考程序: #include<iostream> using namespace std; const int N = 50; int a[N+1]; int main() { int n, x, y; cin >> n >> x >> y; for (int i = 1; i <= n; i++) { cin >> a[i]; } for (int i = y; i >= x; i--) { cout << a[i] << " "; } return 0; } 测试数据: 1.in 10 4 8 1 2 3 4 5 6 7 8 9 10 1.out 8 7 6 5 4 2.in 10 2 3 9243 6711 6198 6931 5060 8782 9384 5014 3575 3884 2.out 6198 6711 3.in 15 3 14 6965 8860 2434 8572 7808 9456 292 2472 9341 971 9270 144 6875 169 5119 3.out 169 6875 144 9270 971 9341 2472 292 9456 7808 8572 2434 4.in 35 25 26 7895 5554 2175 4662 8306 8626 1595 4837 1051 4268 6693 3186 483 557 8608 5400 8008 2565 2762 6260 7565 4774 3586 5794 1721 4290 2360 2052 5257 9170 7708 7004 8205 3012 5508 4.out 4290 1721 5.in 50 34 39 7719 6695 8324 656 8582 1689 4913 8988 7635 5334 3444 6590 3745 9552 9203 1684 1841 6730 217 1356 1437 1569 6116 560 4838 1788 7221 406 8452 5737 3225 8733 4481 5656 1414 2298 6558 5010 8335 790 3664 8657 682 781 2177 7610 4764 5661 5480 6137 5.out 8335 5010 6558 2298 1414 5656 5、C++ L10 无敌时间(30分) 题目名称: 无敌时间 题目描述: “星球大战”是一个电子射击竞技游戏,你控制着主角的飞船与罪恶的敌人展开战斗。游戏中会随 时 出现一种神奇的光环,从光环出现的那一刻起,主角获得5秒的无敌时间,可防止来自敌人的任何伤害。 无敌时间不能累加,无论 主角 是否处于无敌状态,从最近的光环出现起,5秒后光环自动消失,无敌状态随即解除。 现在告诉你一局游戏中光环出现的所有时刻,如果主角始终生存,而且最后一个光环消失前游戏不会结束,计算无敌时间的总时长秒数。 例如: 一局游戏中出现3次光环,分别在第1秒初、第7秒初和第8秒初。 第1秒初,主角获得5秒的无敌时间,光环到第6秒初消失; 第7秒初,主角再次获得5秒的无敌时间,光环到第12秒初消失; 第8秒初,主角再次获得5秒的无敌时间,由于当时已经是无敌状态,无敌时间不能累加,光环到第13秒初消失。 在这个例子中,无敌时间的总长是11秒。下图中,从上到下,列举了3次光环出现后的无敌持续时间,蓝色表示主角处于无敌状态。 输入 第一行一个整数n(0<=n<=20),代表光环在一局游戏中出现的次数; 第二行n个递增的整数a i (1<=a i <=100),代表第i个光环出现的起始时刻,相邻两个整数用空格隔开。 输出 一个整数,代表无敌时间的总时长。 输入样例: 3 1 7 8 输出样例: 11 参考程序: #include <iostream> using namespace std; const int N = 20; int a[N]; int main() { int n, ans = 0; cin >> n; for(int i = 0; i < n; i++) { cin >> a[i]; } for(int i = 0; i < n; i++) { if(i < n - 1) /
蓝桥杯青少组C++组别10级编程练习真题(第6套,共10套)
下载提示

下载及版权说明:6547网文库内容来自网络及各平台公开内容(属于用户上传,不保证正确性,只做参考),旨在帮助同学们学习少儿编程相关知识及内容,仅限内部学习及使用,以分享为主,下载本文档之后请合法使用相关、真题、素材、课件、教程等内容,若内容存在侵权,请进行 举报 及查看 免责声明