文库 真题 蓝桥杯真题

第12届蓝桥杯青少组C++中高级组STEMA选拔赛真题答案 2020年11月22日

蓝桥杯stema真题 蓝桥杯青少组C++真题答案 PDF   9页   下载0   2024-02-29   浏览241   收藏0   点赞0   评分-   免费文档
温馨提示:当前文档最多只能预览 2 页,若文档总页数超出了 2 页,请下载原文档以浏览全部内容。
第12届蓝桥杯青少组C++中高级组STEMA选拔赛真题答案 2020年11月22日 第1页
第12届蓝桥杯青少组C++中高级组STEMA选拔赛真题答案 2020年11月22日 第2页
剩余7页未读, 下载浏览全部
 答案 第 12 届蓝桥杯 C++青少组中 /高级组选拔赛( STEMA)2020 年11 月22 日 真题 题目总数: 5 总分数:128 编程题 第 1 题 问答题 求和 【题目描述】 输入一个正整数 N(N < 100),输出 1 到 N( 包含 1 和 N) 之间所有奇数的和。 【输入描述】 输入一个正整数 N(N < 100) 【输出描述】 输出 1 到 N 之间的所有奇数的和 【输入样例】 【输出样例】 3 4 # include <iostream> using namespace std; int main () { int n; cin >> n; int sum = 0; for (int i = 1; i <= n; i++) { if (i % 2 == 1) { sum += i; } } cout << sum << endl; 1 2 3 4 5 6 7 8 9 10 11 12 13  解析 本题属于简单题,考察累加器和循环的使用。定义累加器 sum 并初始化为 0,循环枚举 i 从 1 到 n ,判断 i 如果为奇数,则累加 sum += i。循环结束后输出 sum。对循环理解较好的同学,也可以 去掉 if 判断,将 i++改为 i += 2 ,直接累加,也可达到奇数求和的效果。 第 2 题 问答题 求平方 【题目描述】 平方是一种运算,比如: a 的平方表示 a × a。 例如: 2 的平方为 4(也就是 2*2 的积) 例如: 4 的平方为 16(也就是 4*4 的积) 输入一个正整数 N(N < 30),输出 1 到 N( 包含 1 和 N) 之间所有正整数的平方,且所输出的平方数之间以英文 逗号隔开。 【输入描述】 输入一个正整数 N(N < 30) 【输出描述】 输出所有正整数的平方数,以英文逗号隔开 【输入样例】 【输出样例】 return 0; } 14 // 参 考 代 码 2 #include <bits/stdc++.h> using namespace std; int n; int main () { cin >> n; int sum = 0; for (int i = 1; i <= n; i += 2) sum += i; cout << sum; return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 3 1,4,9  答案  解析 本题属于简单题,考察循环的使用。大部分失分的同学主要错在输出格式上。题目中要求输出时用 英文逗号隔开,不能加空格或者使用中文逗号,并且最后一个平方数后面不能有英文逗号,因此在 循环输出时,判断循环变量 i,如果不是输出最后一个数,则输出英文逗号 ",",否则不输出。 第 3 题 问答题 数位递增数 【题目描述】 一个正整数如果任何一个数位小于等于右边相邻的数位,则称为一个数位递增数。 例如: 1135 是一个数位递增数 1024 不是一个数位递增数 输入一个正整数 n(11<n<10001) ,输出 11 到 n( 包含 11和n)中有多少个数位递增数。 例如:输入 15,11 到 15 之间的数位递增数有: 11、12 、13 、14 、15 。一共有 5 个。 【输入描述】 输入一个正整数 n(11<n<10001) 【输出描述】 输出 11 到 n 中有多少个数位递增数 #include <iostream> using namespace std; int main () { int n; cin >> n; for (int i = 1; i <= n; i++) { cout << i * i; if (i != n) { cout << ","; } } return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 // 参 考 代 码 2 #include <bits/stdc++.h> using namespace std; int n; int main () { cin >> n; cout << "1"; for (int i = 2; i <= n; i++) cout << ',' << i * i; return 0; } 1 2 3 4 5 6 7 8 9 10 11  答案 【输入样例】 【输出样例】 15 5 # include <iostream> using namespace std; int main () { int n; cin >> n; int cnt = 0; for (int i = 11; i <= n; i++) { int a = i / 10000 % 10; // 万 位 int b = i / 1000 % 10; // 千 位 int c = i / 100 % 10; // 百 位 int d = i / 10 % 10; // 十 位 int e = i % 10; // 个 位 if (a <= b && b <= c && c <= d && d <= e) { cnt++; } } cout << cnt << endl; return 0; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // 参 考 代 码 2 #include <bits/stdc++.h> using namespace std; int n; int main () { cin >> n; int sum = 0; for (int i = 11; i <= n; i++) { string s; stringstream ss; ss << i; ss >> s; int f = 0; for (int j = 1; j <= s. size() - 1; j++) if (s[j] < s[j - 1]) { f = 1; break; } if (!f) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19  解析 本题与之前课上所做的水仙花数、四叶玫瑰数类似,考察循环枚举与数位分离的
第12届蓝桥杯C++青少组中_高级组选拔赛(STEMA)2020年11月22日真题-附答案,2020年11月22日第12届蓝桥杯青少组C++中高级组STEMA选拔赛真题答案
下载提示

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