答案 第
12 届蓝桥杯 C++青少组中 /高级组选拔赛 2020年10 月25 日真题
题目总数: 5
总分数:128
编程题
第 1 题
问答题
编程实现:
输入一个正整数 N(1<N<20000),输出1到 N之间所有正整数的和 (包含 1和 N) 。
输入描述:
输入一个正整数 N(1<N<20000)
输出描述:
输出 1到 N之间所有正整数的和 (包含 1和 N)
样例输入:
样例输出:
3
6
// 参 考 代 码 1
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <queue>
#include <string.h>
#include <vector>
using namespace std;
#define INF 0x7f
int main () {
int n, s = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
s += i;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
解析
答案 评分标准:
(下列各评分项单独计分,得分累加;共 18 个计分点)
6分:能正确输出一组数据;
6 分:能正确输出两组数据;
6 分:能正确输出三组数据。
第 2 题
问答题
编程实现:
输入一段英文 (包含字母和 “.”),分别统计出这段英文字符串共有多少个字符 (包含字母和 “.”)及“.”出现的次数。
输入描述:
输入一段英文字符串 (字符串长度 <100)
输出描述:
第一行输出字符总个数
第二行输出 “.”在这段英文串中出现的次数
样例输入:
样例输出:
}
cout << s;
}
18
19
20
// 参 考 代 码 2
#include <iostream>
using namespace std;
int main () {
long long n, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
sum = sum + i;
}
cout << sum << endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
aaa.
4
1
// 参 考 代 码 1
#include <algorithm>
#include <cmath>
1
2
3
解析
评分标准: (下列各评分项单独计分,得分累加;共 20 个计分点)
6分:能正确输出一组数据;
6 分:能正确输出两组数据;
8 分:能正确输出三组数据。
#include <cstdio>
#include <cstring>
#include <iostream>
#include <queue>
#include <string.h>
#include <vector>
using namespace std;
#define INF 0x7f
int main () {
char a[101 ];
int ans = 0, len, ans_1 = 0;
cin >> a;
len = strlen(a);
for (int i = 0; i < len; i++) {
if (a[i] <= 'z' && a[i] >= 'a' || a[i] <= 'Z' && a[i] >= 'A' ||
a[i] == '.') {
ans++;
if (a[i] == '.')
ans_1++;
}
}
cout << len << endl << ans_1;
}
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// 参 考 代 码 2
#include <bits/stdc++.h>
using namespace std;
int main () {
int sum = 0;
string s;
cin >> s;
for (int i = 0; i < s. size(); i++) {
if (s[i] == ( char)(46)) {
sum++;
}
}
cout << s. size() << endl;
cout << sum << endl;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
答案
第
3 题
问答题
编程实现:
连续输入 5个正整数 (0<正整数 <1001), 正整数之间以一个空格隔开 ,然后将这五个正整数按照从大到小的顺序输
出 (输出的正整数之间以一个英文逗号隔开 )。
输入描述:
连续输入 5个正整数 (0<正整数 <1001) 分别以一个空格隔开
输出描述:
按照从大到小的顺序输出且每个正整数之间用一个英文逗号隔开
样例输入:
样例输出:
3 2 5 5 4
5,5,4,3,2
// 参 考 代 码 1
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <queue>
#include <string.h>
#include <vector>
using namespace std;
#define INF 0x7f
bool cmp (int a, int b) { return a > b; }
int main () {
int n[6];
for (int i = 0; i < 5; i++) {
cin >> n[i];
}
sort (n, n + 5, cmp);
for (int i = 0; i < 5; i++) {
if (i < 4)
cout << n[i] << ",";
else
cout << n[i];
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
解析
评分标准: (下列各评分项单独计分,得分累加;共 25 个计分点)
6分:能正确输出一组数据;
6 分:能正确输出两组数据;
6 分:能正确输出三组数据;
7 分:能正确输出四组数据。
第 4 题
问答题
提示信息:
倍数与约数:如果 a能被 b整除, a就叫做 b的倍数
第12届蓝桥杯C++青少组中_高级组选拔赛2020年10月25日真题-附答案,第12届蓝桥杯青少组C++中高级组STEMA选拔赛真题及答案 2020年10月25日