文库 真题 蓝桥杯真题

2022年3月蓝桥杯青少组STEMA等考C++中高级组真题答案

蓝桥杯青少组真题 STEMA真题 PDF   9页   下载1   2024-03-06   浏览235   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
2022年3月蓝桥杯青少组STEMA等考C++中高级组真题答案 第1页
2022年3月蓝桥杯青少组STEMA等考C++中高级组真题答案 第2页
剩余7页未读, 下载浏览全部
 答案 第 13 届蓝桥杯 C++青少组中 /高级组选拔赛 2022年3月 13 日真题 题目总数: 5 总分数:128 编程题 第 1 题 问答题 字母转换 题目描述: 给定一个大写字母,输出其对应的小写字母。 输入描述: 输入一个大写字母 输出描述: 输出大写字母对应的小写字母。 样例输入: 样例输出: A a # include <iostream> using namespace std; int main (void ) { char n; cin >> n; if (n >= 65 && n <= 90) { n += 32; } else { n -= 32; } cout << n; } 1 2 3 4 5 6 7 8 9 10 11 12 // 答 案 2 #include <iostream> 1 2  解析  答案 评分标准: 6 分:能正确输出一组数据; 6 分:能正确输出两组数据; 6 分:能正确输出三组数据。 第 2 题 问答题 数位求和 题目描述: 给定两个正整数 N和 M(N<M), 统计N到 M之间 (包含 N和 M) 的正整数中,各个位上的数字之和为 8的有多少个。 如: N=100,M=150,100 到150 之间有 5个数,各个位上的数字之和为 8。分别是 107、116 、125 、134 、143 。 输入描述: 输入两个正整数 N和 M(10O≤N<M≤8O1), 且正整数之间以一个空格隔开。 输出描述: 输出一个整数,表示 N到 M之间 (包含 N和 M) 的正整数中有多少个各个位上的数字之和为 8。 样例输入: 样例输出: using namespace std; int main () { char a; cin >> a; cout << char(a + 32); return 0; } 3 4 5 6 7 8 9 100 150 5 # include <iostream> using namespace std; int main () { int n, m; int ans = 0; cin >> n >> m; for (int i = n; i <= m; i++) { int sum = 0; int k = i; while (k) { sum += k % 10; k /= 10; 1 2 3 4 5 6 7 8 9 10 11 12 13  解析 评分标准: 6 分:能正确输出一组数据; 6 分:能正确输出两组数据; 8 分:能正确输出三组数据。 第 3 题 问答题 分糖果 题目描述: 有 N个小朋友从左到右排成一排,每个小朋友手中都有一定数量的糖果,且糖果总数量是 N的倍数。计算出最 少调整几次可以使每个小朋友的糖果数量相同。调整规则如下: 规则 1:每个小朋友的糖果只能调整到左右相邻的两个小朋友手中; 规则 2:第一个小朋友的糖果只能调整到第二个小朋友手中; 规则 3:最后一个小朋友的糖果,只能调整到倒数第二个小朋友手中。 例如: N等于 3时, 1~3号小朋友原有糖果数量分别为 6,4,2。 1)1 号小朋友拿出两块给 2号小朋友; 2)2 号小朋友拿出两块给 3号小朋友; } if (sum == 8) { ans++; } } cout << ans << endl; return 0; } 14 15 16 17 18 19 20 21 // 答 案 2 #include <iostream> using namespace std; int main () { int a, b; cin >> a >> b; int cnt = 0; for (int i = a; i <= b; i++) if ((i % 10 + i / 10 % 10 + i / 100) == 8) // 算 式 分 别 为 i的 个 位 , 十 位 , 百 位 数 字 cnt++; cout << cnt; return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14  答案 两次操作后三个小朋友手中糖果分别为 4,4,4。即按照调整规则最少操作 2次可以使 3个小朋友手中糖果数量都相 同。 现按照顺序给出 1~N号小朋友手中原有糖果数量,按照调整规则计算出最少调整几次可以使小朋友手中的糖果 数量都相同。 输入描述: 第一行输入一个正整数 N(N<50),表示有N个小朋友 第二行输入 N个正整数 (1<正整数 <100),表示1到 N号小朋友手中原有糖果数量,正整数之间以一个空格隔开,且 所有正整数之和是 N的倍数 输出描述: 输出一个正整数,表示按照调整规则最少调整几次可以使小朋友手中的糖果数量都相同。 样例输入: 样例输出: 3 642 2 # include <iostream> using namespace std; int main () { int n; cin >> n; int a[n], sum = 0; for (int i = 1; i <= n; i++) { cin >> a[i]; sum += a[i]; } int num = 0; for (int i = 1; i <= n - 1; i++) { if (a[i] != sum / n) { a[i + 1] = (a[i + 1] + a[i] - (sum / n)); a[i] = sum / n; num++; } } cout << num; return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 // 答 案 2 #include <iostream> using namespace std; 1 2 3  解析 评分标准: 6分:能正确输出一组数据; 6 分:能正确输出两组数据; 6 分:能正确输出三组数据; 7 分:能正确输出四组数据。 int n, s[ 100009 ]; // s 用 来 存 储 每 个 小 朋 友 手 上 的
第13届蓝桥杯C++青少组中_高级组选拔赛2022年3月13日真题-附答案,2022年3月蓝桥杯青少组STEMA等考C++中高级组真题答案
下载提示

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