答案
第
12 届蓝桥杯 C++青少组中 /高级组选拔赛( STEMA)2021 年1月 24 日
真题
题目总数: 5
总分数:128
编程题
第 1 题
问答题
排序
题目描述:
输入三个正整数,将三个正整数按从小到大排序输出。
输入描述:
输入三个正整数 (0<正整数 <1000), 且正整数之间以一个空格分隔。
输出描述:
将三个正整数按照从小到大排序输出,且正整数之间以一个空格分隔。
样例输入:
样例输出:
15 8 10
8 10 15
# include <bits/stdc++.h>
using namespace std;
int main () {
// freopen("0.in","r",stdin);
// freopen("0.out","w",stdout);
int a[3];
scanf ("%d%d%d" , &a[0], &a[ 1], &a[ 2]);
sort (a, a + 3);
printf ("%d %d %d" , a[0], a[ 1], a[ 2]);
// fclose(stdin);
// fclose(stdout);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
答案
第
2 题
问答题
平均值
提示信息:
歌唱比赛中有 10名评委。评分规则是:每名评委给出一个 0~100之间的分数,然后从 10名评委所评分数中,去
掉一个最高分,再去掉一个最低分,对剩余分数取平均值作为选手的最终得分。
题目描述:
给定 10个评委的评分,然后去掉一个最高分,再去掉一个最低分后,求出剩余分数的平均值,作为选手最终得
分。
输入描述:
输入 10个正整数 (O≤正整数 ≤100)表示10位评委评分,正整数之间以一个空格分隔。
输出描述:
去掉一个最高分和一个最低分后,求出剩余分数的平均值,作为选手最终得分,并将其输出。
( 计算结果保留
全部小数位数 )
样例输入:
样例输出:
// 参 考 代 码 2
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;
int a[4];
int main () {
scanf ("%d%d%d" , &a[1], &a[ 2], &a[ 3]);
sort (a + 1, a + 4);
printf ("%d %d %d" , a[1], a[ 2], a[ 3]);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
80 85 83 89 98 75 80 90 78 65
82.5
# include <bits/stdc++.h>
using namespace std;
int main () {
// freopen("0.in","r",stdin);
// freopen("0.out","w",stdout);
int a[16];
int ans = 0;
1
2
3
4
5
6
7
第 3 题 问答题
换算
提示信息:
一分钟有 60秒,一小时有 60分钟。
题目描述:
将秒数转换为与其等价的小时数、分钟数、秒数的表现形式。
小时数、分钟数、秒数的数字之间以英文冒号 (:)分隔,且数字小于 10的,需要在数字前补 0。
例如: 500秒等同于 8分钟 20秒,表现形式为: 00:08:20;7259秒等同于2小时 0分钟 59秒,表现形式为:
02:00:59 。
输入描述:
输入一个正整数 N(N<86400)作为秒数。
输出描述:
输出与其对应的小时数、分钟数、秒数,数字之间以英文冒号分隔。 (数字小于 10的,需要在数字前补 0)
int i;
for (i = 0; i < 10; i++)
scanf ("%d" , &a[i]);
sort (a, a + 10);
for (i = 1; i < 9; i++)
ans += a[i];
printf ("%g" , ans * 1.0 / 8.0 );
// fclose(stdin);
// fclose(stdout);
return 0;
}
8
9
10
11
12
13
14
15
16
17
18
// 参 考 代 码 2
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;
int a[11];
int ans;
int main () {
for (int i = 1; i <= 10; i++) {
scanf ("%d" , &a[i]);
ans += a[i];
}
sort (a + 1, a + 11);
ans -= (a[ 1] + a[ 10]);
double ave = 1.0 * ans / 8;
cout << ave;
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
答案
样例输入:
样例输出:
7259
02:00:59
# include <bits/stdc++.h>
using namespace std;
int main () {
// freopen("0.in","r",stdin);
// freopen("0.out","w",stdout);
int n;
int a, b, c, tmp;
scanf ("%d" , &n);
a = n / 3600;
tmp = n % 3600;
b = tmp / 60;
tmp = tmp % 60;
c = tmp;
printf ("%02d:%02d:%02d" , a, b, c);
// fclose(stdin);
// fclose(stdout);
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// 参 考 代 码 2
#include <cstdio>
#include <iostream>
using namespace std;
int n;
int hour, minu, sec;
void print (int num) {
if (num < 10)
printf ("0" );
printf ("%d" , num);
return ;
}
int main () {
scanf ("%d" , &n);
sec = n % 60;
n /= 60;
minu = n % 60;
n /= 60;
hour = n;
print (hou
第12届蓝桥杯C++青少组中_高级组选拔赛(STEMA)2021年1月24日真题-附答案,第12届蓝桥杯青少组C++中高级组STEMA选拔赛真题及答案 2021年1月24日