文库 真题 蓝桥杯真题

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

蓝桥杯青少组16级真题 蓝桥杯C++真题 DOCX   5页   下载5   2024-02-19   浏览142   收藏13   点赞11   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
蓝桥杯青少组C++组别16级编程练习真题(第6套,共6套) 第1页
蓝桥杯青少组C++组别16级编程练习真题(第6套,共6套) 第2页
剩余3页未读, 下载浏览全部
蓝桥等考C++组别十六级 第一部分:选择题 1、 C++ L16 ( 15 分) 已定义结构体类型Student来保存学生的学号和姓名: struct Student{ int sn; //学号 char name[20];//姓名 } stu; 要想 给 结构体 变量stu赋值( 100001 ,“ xiaozhi ”),以下代码 赋值 正确的是( )。 A . stu.sn = 100001; stu.name = "xiaozhi"; B. stu = Student(100001, "xiaozhi"); C. stu = {100001, "xiaozhi"}; D. Student stu2 = {100001, "xiaozhi"}; stu = stu2; 正确答案: D 2 、C++ L16 ( 15 分) 以下 关于文件名 说法正确的是( )。 A . 文件名可以包含 英文符号 “ \” B. 文件名可以包含 英文符号 “ / ” C . 文件名可以包含 英文符号 “ % ” D. 文件名可以包含 英文符号 “ ? ” 正确答案:C 3 、C++ L16 (20分) 要 想下方代码 依次输出数组a的元素,下划线处不应该填写( )。 int a[5] = {1, 2, 3, 4, 5}; int *p = a; for (int i = 0; i < 5; i++) { cout << _________ << ' '; } A . p[i] B. a[i] C. *(a++) D. *(p + i) 正确答案:C 第二部分:编程题 4、 C++ L16 模仿秀 ( 2 0分) 题目名称: 模仿秀 题目描述: 电视台举办一场模仿秀节目,评委根据选手的体态、语言和形体动作的相似程度进行打分,现给出n位选手的各项得分情况,要求统计出每位选手的总分。 输入: 第1行有1个整数n(1≤n≤100),表示选手的人数。 接下来有n行,每行包含 3 个正整数,分别表示体态、语言和形体动作各项的得分(每项得分均不大于1 00 ), 相邻两个数中间用一个空格分隔。 输出: 共n行 ( 按输入顺序输出 每 名选手的总分 ) ; 每行1个整数,表示一名选手的总分。 输入样例: 3 90 80 100 93 99 70 89 91 80 输出样例: 270 262 260 参考程序: #include<iostream> #include<cstring> using namespace std; const int N = 100; struct Score{ int a1; int a2; int a3; int total; } score[N + 1]; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { cin >> score[i].a1 >> score[i].a2 >> score[i].a3; score[i].total = score[i].a1 + score[i].a2 + score[i].a3; } for (int i = 0; i < n; i++) { cout << score[i].total << endl; } return 0; } 测试数据: 1.in 3 90 80 100 93 99 70 89 91 80 1.out 270 262 260 2.in 5 71 81 66 95 84 95 72 77 92 60 84 64 83 88 89 2.out 218 274 241 208 260 余下略 5、 C++ L16 模仿秀前三名 ( 3 0分) 题目名称: 模仿秀前三名 题目描述: 电视台举办一场模仿秀节目,评委根据选手的体态、语言和形体动作的相似程度进行打分。现在给出n位选手的编号和总分,要求按照总分从大到小的顺序输出 排在 前三名选手的编号和总分;如果总分相同,则编号小的排在前面。 输入: 第一行是一个正整数n (3 < n < 100),表示 选手 的人数; 接下来 有 n行,每行包含两个正整数,分别为每 位选手 的 编号 (不大于100)和 总分 (不大于300), 两数 中间用一个空格隔开。 题目保证 编号 不重复。 输出: 共 3 行, 每行两个正整数,分别表示 排 在前三名选手的 编号和总分, 两数中间用一个空格隔开。 输入样例: 5 1 240 2 262 3 229 4 199 5 210 输出样例: 2 262 1 240 3 229 参考程序: #include<iostream> #include<algorithm> using namespace std; const int N = 100; struct Score{ int sn; int total; } score[N + 1]; bool cmp(Score a, Score b) { if(a.total != b.total) return a.total > b.total; return a.sn < b.sn; } int main() { int n; cin >> n; for (int i = 0; i < n; i++) { cin >> score[i].sn >> score[i].total; } sort(score, score + n, cmp); for (int i = 0; i < 3; i++) { cout << score[i].sn << " " << score[i].total << endl; } return 0; } 测试数据: 1.in 5 1 240 2 262 3 229 4 199 5 210 1.out 2 262 1 240 3 229 2.in 8 1 209 2 290 3 215 4 241 5 268 6 228 7 264 8 286 2.out 2 290 8 286 5 268 余下略
蓝桥杯青少组C++组别16级编程练习真题(第6套,共6套)
下载提示

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