蓝桥等考C++组别
十三
级
第一部分:选择题
1、
C++ L
13
(
15
分)
用冒泡排序算法对数列
2, 1, 6, 3, 4, 5
进行从大到小排序,每一趟排序都把未排序元素中最小的数放到未排序位置的最后面,第二趟排序后的状态为( )。
A
.
2 6 3 4 5 1
B.
6 5 4 3 2 1
C.
6 3 4 5 2 1
D.
6 4 5 3 2 1
正确答案:
C
2
、C++ L
13
(
15
分)
使用排序库函数sort对数组i
nt a[10]
的后6个元素
进行从小到大的排序
,
以下用法正确的是( )。
A
.
sor
t(a[0], a[6])
;
B.
sor
t(a + 4, a + 9)
;
C.
sor
t(a[4], a[9])
;
D.
sor
t(a + 4, a + 10)
;
正确答案:D
3
、C++ L
13
(20分)
输入一组(不超过1
00
个)在
-50~150
之间的整数,对这组数进行排序。
以下是桶排序算法的代码,在(
1)
、
(2)
下划线处应填写的代码是( )。
int n, x, b[
(
1)________________] = {};
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
b[x + 50]++;
}
(
2)___________________
_
_____
{
for (int j = 1; j <= b[i]; j++)
{
cout << i - 50 << ' ';
}
}
A
.
(1):
101
(2): for (int i = 0; i <= 100; i++)
B.
(1): 201
(2): for (int i = 0; i <= 100; i++)
C.
(1): 101
(2): for (int i = 0; i <= 200; i++)
D.
(1): 201
(2): for (int i = 0; i <= 200; i++)
正确答案:
D
第二部分:编程题
4、
C++ L13
统计数字
(
5
0分)
题目名称:
统计数字
题目描述:
一场歌唱比赛有不超过26位选手参加,选手的代号依次用大写字母A、B、C…表示。在节目现场观众要给这些选手投票,每人投一票,选出最喜欢的选手。已知观众的投票记录,请将所有选手的得票数从高到低进行排序。
例如:有8个观众,他们投票的记录是: D B C A D A D C
其中A有2票,B有1票,C有2票,D有3票。
得票数从高到低排序的结果是3 2 2 1。
输入:
共2行;
第1行是一个
正整数
n
(不大于500),表示观众的人数
;
第2行有
n
个字符,表示每个观众投票的选手代号,相邻两个字符用空格隔开。
题目数据保证每位选手至少有一票。
输出:
输出
1
行,有若干个整数,表示按选手得票数从高到低的排序结果,
相邻两个整数用一个空格隔开。
输入样例:
8
D
B C A D
A
D C
输出样例:
3 2 2 1
参考程序:
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 26;
int a[N + 1];
int main()
{
int n;
char x, maxc = 'A';
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
a[x - 'A']++;
if (x > maxc)
maxc = x;
}
int m = maxc - 'A' + 1;
sort(a, a + m);
for (int i = m - 1; i >= 0; i--)
{
cout << a[i] << ' ';
}
return 0;
}
测试数据:
1.in
8
D B C A D A D C
1.out
3 2 2 1
2.in
40
A B C A A C A B C C C C A A C B A C A B A A A B B B B B C B B A A B B C B B A C
2.out
15 14 11
3.in
100
D D G D H D D E D C C B F D G H H F B H F D D F G B D C A E A A G B A H E D D B C D C H D H A A F H A C F D B A H F A C D D E C E G H H H E D F C G C B G A H E F F A H B G C E A D C B E B A A F G F E
3.out
19 14 14 12 12 10 10 9
余下略
蓝桥杯青少组C++组别13级编程练习真题(第8套,共9套)