文库 真题 蓝桥杯真题

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

蓝桥杯青少组16级真题 蓝桥杯C++真题 DOCX   4页   下载6   2024-02-19   浏览118   收藏10   点赞12   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别16级编程练习真题(第2套,共6套) 第1页
蓝桥杯青少组C++组别16级编程练习真题(第2套,共6套) 第2页
剩余2页未读, 下载浏览全部
蓝桥等考C++组别 十六 级 第一部分:选择题 1、 C++ L16 ( 15 分) 关于结构体,以下说法正确的是( )。 A . 结构体只能包含基本数据类型的成员变量,不能包含数组成员。 B. 结构体类型可以声明变量,但是不能声明结构体数组。 C. 可以使用赋值运算符将一个结构体变量赋值给另一个结构体变量。 D. 定义结构体类型时,系统实际上就已经分配了内存。 正确答案:C 2 、C++ L16 ( 15 分) 关于计算机文件系统,以下说法正确的是( )。 A . 文件名中可以包含“ * ”这个符号。 B. 在 Windows系统里 文件名区分大小写。 C. 文件名通配符 “?”表示其所在的位置可以是任意一个字符。 D. 在 Windows 系统里,一块硬盘就只有一个根目录 。 正确答案:C 3 、C++ L16 (20分) 关于指针,以下说法正确的是()。 A . 指针变量必须初始化为某个变量的地址。 B. 设指针变量 p 指向数组 a ,则可以使用 p [0] 访问数组元素a[ 0] 。 C. 程序运行过程中,变量的值可以改变,变量地址也可以改变。 D. 程序运行时,数据都存放在内存中,代码没有存放在内存中。 正确答案:B 第二部分:编程题 4、 C++ L16 奖牌 统计 ( 2 0分) 题目名称: 奖牌统计 题目描述: 今年大学生运动会,小蓝要根据每个学校获得的金牌、银牌和铜牌数量,统计出每个学校获得的奖牌总数。 输入: 第1行是1个正整数,表示参加运动会的学校数目n(1≤n≤ 20 00)。 其后有n行数据,每行包括4个非负整数,分别表示学校编号(不超过 999999 ),以及金牌、银牌和铜牌数量(不大于 200 ),两项数据中间用空格分隔。 输出: 共n行, 每行包含2个非负整数,表示某学校的学校编号以及获得的奖牌总数,中间用单个空格分隔。 输入样例: 3 1 4 12 24 2 3 20 30 3 0 30 23 输出样例: 1 40 2 53 3 53 参考程序: #include<iostream> #include<cstring> using namespace std; const int N = 2000; struct Medal{ int name; int g; int s; int b; int total; } medal[N + 1]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { cin >> medal[i].name >> medal[i].g >> medal[i].s >> medal[i].b; medal[i].total = medal[i].g + medal[i].s + medal[i].b; } for (int i = 0; i < n; i++) { cout << medal[i].name << " " << medal[i].total << endl; } return 0; } 测试数据: 1.in 3 1 4 12 24 2 3 20 30 3 0 30 23 1.out 1 40 2 53 3 53 余下略 5 、 C++ L16 奖牌榜 ( 3 0分) 题目名称: 奖牌榜 题目描述: 今年大学生运动会,小蓝要根据每个学校获得的奖牌数量,按奖牌总数从多到少进行排序,整理出奖牌榜;如果有相同总奖牌数,则学校编号小的排在前面。 输入: 第1行是1个正整数,表示参加运动会的学校数目n(1≤n≤ 20 00)。 接下来的n行,每行包含两个正整数,分别为每个学校的编号(不大于9 99999 )和总奖牌数(不大于 600 ), 中间用单个空格隔开。 输出: n行,是将学校按总奖牌数从高到低的顺序进行排序的结果,每行包含学校编号和总奖牌数,之间用一个空格隔开。 输入样例: 3 1 40 2 53 3 53 输出样例: 2 53 3 53 1 40 参考程序: #include<iostream> #include<algorithm> using namespace std; const int N = 2000; struct Medal{ int name; int total; } medal[N + 1]; bool cmp(Medal a, Medal b) { if(a.total != b.total) return a.total > b.total; return a.name < b.name; } int main() { int n; cin >> n; for (int i = 0; i < n; i++) { cin >> medal[i].name >> medal[i].total; } sort(medal, medal + n, cmp); for (int i = 0; i < n; i++) { cout << medal[i].name << " " << medal[i].total << endl; } return 0; } 测试数据: 1.in 3 1 40 2 53 3 53 1.out 2 53 3 53 1 40 余下略
蓝桥杯青少组C++组别16级编程练习真题(第2套,共6套)
下载提示

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