蓝桥等考C++组别
十三
级
第一部分:选择题
1、
C++ L
13
(
15
分)
用冒泡排序算法对数列
4, 5, 2, 6, 3, 1
进行从小到大排序,每一趟都把未排序元素中最大的放到未排序位置的最后面,第三趟排序后的状态为( )。
A
.
2 3 1 4 5 6
B.
4 5 2 3 1 6
C.
2 4 3 1 5 6
D.
2 1 3 4 5 6
正确答案:A
2
、C++ L
13
(
15
分)
使用排序库函数sort来对数组i
nt a[10]
的所有元素进行从小到大的排序
,
以下用法正确的是( )。
A
.
sor
t(a[0], a[10])
;
B.
sor
t(a, a + 9)
;
C.
sor
t(a[0], a[9])
;
D.
sor
t(a, a + 10)
;
正确答案:D
3
、C++ L
13
(20分)
要输入一组
0~1000
之间的整数,要对这些数进行桶排序。
以下是桶排序算法的代码,在(
1)
、
(2)
下划线处应填写的代码是( )。
int n, x, b[1001] = {};
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
(
1)___________________
}
for (int i = 0; i <= 1000; i++)
{
(
2)___________________
{
cout << i << ' ';
}
}
A
.
(1):
b[i] =
x++;
(2):
for (int j = 1; j <=
i
; j++)
B.
(1):
b[x]++;
(2):
for (int j = 1; j <= b[i]; j++)
C.
(1):
b[i]++;
(2):
for (int j = 1; b[j] <= i; j++)
D.
(1):
b[x] += 1;
(2):
for (int j = 0; j <= b[i]; j++)
正确答案:B
第二部分:编程题
4、
C++ L13
奇数序列排序
(
5
0分)
题目名称:
奇数序列排序
题目描述:
给定一个长度为N的正整数序列,请将其中的所有奇数取出,并按增序(从小到大)输出。
输入:
共2行;
第1行是一个
正整数
N
(不大于500)
;
第2行有 N 个正整数
(小于1
00
,
000
)
,相邻两数之间用空格隔开。
输出:
输出
1
行,为增序的奇数序列,两数之间以英文逗号分隔。题目数据保证至少有一个奇数。
注意:输出数据不得有多余的逗号。
输入样例:
10
10 3 8 6 7 4 9 5 2 1
输出样例:
1,3,5,7,9
参考程序:
#include<iostream>
#include<algorithm>
using namespace std;
const int N = 500;
int a[N + 1];
int main()
{
int n, x, pos = 1;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> x;
if (x % 2 != 0)
{
a[pos++] = x;
}
}
sort(a, a + pos);
cout << a[1];
for (int i = 2; i < pos; i++)
{
cout << ',' << a[i];
}
return 0;
}
测试数据:
1.in
10
10 3 8 6 7 4 9 5 2 1
1.out
1,3,5,7,9
2.in
40
61044 4876 54215 89249 46301 52309 31810 20358 14050 81553 3385 74865 17752 67594 76846 96028 9510 82278 17069 99665 59415 46242 81696 72448 15098 16364 86781 22230 10414 41625 54055 66365 48329 38288 46147 66611 83127 43195 26394 39435 11
2.out
3385,17069,39435,41625,43195,46147,46301,48329,52309,54055,54215,59415,66365,66611,74865,81553,83127,86781,89249,99665
3.in
100
89860 62423 78108 42112 27680 71189 79711 18712 23519 11710 46067 93665 68703 64540 20046 78013 8396 85356 62843 94119 45299 92194 3955 16563 51380 44517 73298 64720 87861 44937 14500 47488 54897 45428 8356 17246 40087 27282 27380 6280 51719 45420 89108 45178 82947 54318 57631 94851 61034 73606 92017 85450 3009 65196 26725 79171 91038 42088 44118 37448 85797 36854 99560 879 29323 93392 13178 38204 53181 96986 45289 35968 63220 14806 90657 83165 22176 68257 75295 41984 63404 35792 66733 10618 45044 91468 54732 93 33571 91117 53808 19552 42464 47696 79235 53681 28226 14046 3647 90435 11
3.out
93,879,3009,3647,3955,16563,23519,26725,29323,33571,40087,44517,44937,45289,45299,46067,51719,53181,53681,54897,57631,62423,62843,66733,68257,68703,71189,75295,78013,79171,79235,79711,82947,83165,85797,87861,90435,90657,91117,92017,93665,94119,94851
余下略
蓝桥杯青少组C++组别13级编程练习真题(第1套,共9套)