文库 真题 蓝桥杯真题

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

蓝桥杯青少组10级真题 蓝桥杯C++真题 DOCX   5页   下载4   2024-02-15   浏览151   收藏12   点赞14   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别10级编程练习真题(第1套,共10套) 第1页
蓝桥杯青少组C++组别10级编程练习真题(第1套,共10套) 第2页
剩余3页未读, 下载浏览全部
蓝桥等考C++组别 十 级 第一部分:选择题 1、 C++ L 10 ( 15 分) 声明一个元素类型是int、有1 0 个元素的一维数组a的正确语句是( )。 A. int[10] a; B. int(10) a; C. int a[10]; D. int a(10); 正确答案: C 2 、C++ L 10 ( 15 分) 有一个一维数组a,元素类型是int,共有 5 个元素,要依次每行输出一个元素,正确的语句是( ) 。 A . for (int i = 0; i <= 4; i++) { cout << a[i] << endl; } B. for (int i = 1; i <= 5; i++) { cout << a[i] << endl; } C. cout << a << endl; D. for (int i = 0; i < 5; i++) { cout << a(i) << endl; } 正确答案:A 3 、C++ L 10 (20分) 假定有 int 型数组a和b,长度都为n。如果要把a的所有元素都复制到数组b中,下列选项中正确的是( )。 A . b = a ; B. for(int i = 1; i <= n; i++) { b[i] = a[i]; } C. for(int i = 0; i <= n; i++) { b[i] = a[i]; } D. for(int i = 0; i < n; i++) { b[i] = a[i]; } 正确答案: D 第二部分:编程题 4、 C++ L10 截取数列片段( 2 0分) 题目名称: 截取数列片段 题目描述: 给定一个长度为n的数列,要求截取其中从第x个元素到第y个元素的片段并输出。 例如,当 n = 8 , x = 3 ,y = 6 : 数列为: 1 2 3 4 5 6 7 8 输出 数列的第 3个到第6个元素为3 4 5 6 输入: 共 2 行,第1行是 3 个正整数,分别是: n( 1 < = n <= 50 ) ,表示 数列的长度; x( 1 < = x <= n ),表示片段的起始元素序号; y( x < = y <= n ),表示片段的截止元素序号;相邻两个数之间用一个空格隔开。 第2行包含n个 整数 (0~1 0000 ),表示数列的元素,相邻两个数之间用一个空格隔开。 输出: 共1行,表示数列从第x个元素到第y个元素的片段,相邻两个数之间用一个空格隔开。 输入样例: 8 3 6 1 2 3 4 5 6 7 8 输出样例: 3 4 5 6 参考程序: #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 = x; i <= y; i++) { cout << a[i] << " "; } return 0; } 测试数据: 1.in 8 3 6 1 2 3 4 5 6 7 8 1.out 3 4 5 6 2.in 10 10 10 2591 8219 281 5621 9364 8522 4606 2268 2348 715 2.out 715 3.in 15 1 13 1304 9458 7141 4659 2022 411 7677 4332 4377 4665 4280 2702 8477 2521 8089 3.out 1304 9458 7141 4659 2022 411 7677 4332 4377 4665 4280 2702 8477 4.in 35 6 33 1013 2763 2994 343 1336 7356 7722 4008 4719 1009 8643 898 8928 761 5636 7023 454 2107 7713 4450 2733 5052 2449 3426 2013 8289 3769 1399 5094 962 1963 272 4001 9785 5284 4.out 7356 7722 4008 4719 1009 8643 898 8928 761 5636 7023 454 2107 7713 4450 2733 5052 2449 3426 2013 8289 3769 1399 5094 962 1963 272 4001 5.in 50 1 16 3325 1991 6366 8522 6860 1607 4915 284 7844 9668 6803 1714 5944 8902 5927 9734 8956 3734 1139 3776 7587 7489 5093 39 3265 2393 3522 9238 3876 8127 3976 6622 7361 6762 3753 3166 8255 3696 7416 3846 460 1863 4644 5822 267 1295 1395 7810 8852 1631 5.out 3325 1991 6366 8522 6860 1607 4915 284 7844 9668 6803 1714 5944 8902 5927 9734 5 、 C++ L10 0 1 比特串左移操作( 3 0分) 题目名称: 0 1 比特串左移操作 题目描述: 01比特串指由0和1组成的字符串,例如:1 011 。 左移操作用来将一个 01比特串 的每一位 数字 全部左移若干位,右边补 0。 例如:将 01比特串0 0001011 左移2位,得到的新 01比特串 为 00101100 。 左移操作过程如下图所示: 0 1 0 0 0 1 1 0 左 移2 位 0 0 0 0 0 1 1 0 1 0 删除 补 2 位 0 1 0 0 0 1 1 0 左 移2 位 0 0 0 0 0 1 1 0 1 0 删除 补 2 位 现给定一个 01比特串 和左移操作的位数,请输出左移操作后的结果。 输入: 输入有 3行,第1行是 1 个正整数 n(n <= 20 ) ,表示 01比特串 有多少位 。 第2行包含n个数字,表示01比特串的每一位,两个数之间有一个空格。 第3行是一个正整数 k(k <= n ),表示左移k位。 输出: 根据题目描述,输出对应的01比特串,相邻两位数字之间用一个空格隔开。 输入样例: 4 1 0 1 1 2 输出样例: 1 1 0 0 参考程序: #include<iostream> using namespace std; const int N = 20; int a[N+1]; int main() { int n, k; cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; } cin >> k; for (int i = 1; i <= n - k; i++) { a[i] = a[i + k]; } for (int i = n - k + 1; i <= n; i++) { a[i] = 0; } for (int i = 1; i <= n; i++) { cout << a[i] << " "; } return
蓝桥杯青少组C++组别10级编程练习真题(第1套,共10套)
下载提示

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