蓝桥等考C++组别
十
级
第一部分:选择题
1、
C++ L
10
(
15
分)
运行以下代码,输出结果是(
)。
char a[10] = {'a', 'b', 'c', 'd', 'e', 'f'};
cout << sizeof(a);
A.
5
B. 10
C.
20
D.
40
正确答案:B
2
、C++ L
10
(
15
分)
已定义数组
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
,要把最后3元素在一行中输出,以下正确的语句是( )
。
A
.
for (int i = 8; i <= 10; i++)
{
cout << a[i] << ' ';
}
B.
for (int i = 7; i <= 10; i++)
{
cout << a[i] << ' ';
}
C.
for (int i = 8; i <= 9; i++)
{
cout << a[i] << ' ';
}
D.
for (int i = 7; i < 10; i++)
{
cout << a[i] << ' ';
}
正确答案:
D
3
、C++ L
10
(20分)
运行以下代码,输出结果是(
)。
int n = 7, m = 2;
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
for (int i = n; i > 0; i--)
{
if (a[i] % m)
cout << a[i] << ' ';
}
A
. 7 5 3 1
B. 7 5 3
C.
8 6 4 2
D.
6 4 2
正确答案:B
第二部分:编程题
4、
C++ L10
数列筛选奇数(
2
0分)
题目名称:
数列筛选奇数
题目描述:
在整数中,不能被2整除的数叫做奇数。
给定一个长度为n的数列,找出奇数元素并按输入的顺序依次输出。
例如:当
n
= 8
,
数列为:
4 5 2 7 10 8 9 1
输出
数列的
奇数元素为
5 7 9 1
输入:
共
2
行,第1行是
1
个正整数
n(
1
<
=
n
<= 100
)
,表示
数列的长度;
第2行包含n个
整数
(-
100
0~1
000
),表示数列的元素,相邻两个数用一个空格隔开。
输出:
共1行,
有若干个整数,
表示
数列的
奇数元素,相邻两个数用一个空格隔开。
输入样例:
8
4 5 2 7 10 8 9 1
输出样例:
5 7 9 1
参考程序:
#include<iostream>
using namespace std;
const int N = 100;
int a[N+1];
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
for (int i = 1; i <= n; i++)
{
if (a[i] % 2 != 0)
cout << a[i] << " ";
}
return 0;
}
测试数据:
1.in
8
4 5 2 7 10 8 9 1
1.out
5 7 9 1
2.in
14
441 40 39 284 99 767 157 142 141 788 698 778 296 117
2.out
441 39 99 767 157 141 117
3.in
35
753 849 309 969 535 554 263 250 50 915 125 460 788 624 973 879 926 985 910 69 414 122 507 682 388 56 522 773 916 889 482 153 139 622 630
3.out
753 849 309 969 535 263 915 125 973 879 985 69 507 773 889 153 139
余下略
5
、
C++ L10
严格递减连续子数列(
3
0分)
题目名称:严格递
减连续子
数列
题目描述:
一个数列,如果从第2项起,每一项都
小
于它前面的一项,这样的数列叫做严格递
减
数列。
例如:
8
7 6 4 2
就是
严格递
减
数列。
给定一个
数列,计算出长度为3的
严格递
减连续子
数列的
个数
。
例如,当数列为
7 4 1 3 8 6 5 2 9
,其中(
7
4
1
)、(
8
6
5
)、(
6 5 2
)是长度为3的
严格递
减连续子
数列
,所以计算结果为
3
。
输入:
输入有
2
行,第1行是
1
个正整数
n(4
<=
n
<= 100
)
,表示
数列元素的个数。
第2行包含n个正整数(
1~1000
),表示数列元素,相邻两个数用一个空格隔开。
输出:
一个整数,表示长度为3的
严格递
减连续子
数列的
个数。
输入样例:
9
7 4 1 3 8 6 5 2 9
输出样例:
3
参考程序:
#include<iostream>
using namespace std;
const int N = 100;
int a[N+1];
int main()
{
int n, cnt = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> a[i];
}
for (int i = 1; i <= n - 2; i++)
{
if (a[i] > a[i + 1] && a[i + 1] > a[i + 2])
cnt++;
}
cout << cnt;
return 0;
}
测试数据:
1.in
9
7 4 1 3 8 6 5 2 9
1.out
3
2.in
13
50 506 27 309 817 128 824 116 865 919 121 181 170
2.out
0
3.in
37
983 807 660 116 456 446 790 261 987 595 79 96 192 247 511 888 893 455 534 470 251 361 220 293 956 880 532 179 818 224 537 980 406 966 657 985 884
3.out
6
4.in
62
676 355 209 547 976 740 124 70 670 194 588 753 975 365 422 139 578 928 541 592 196 405 756 880 97 689 950 580 508 9 791 42 419 747 160 411 234 991 735 109 205 454 858 222 224 802 524 734 711 473 904 599 39 394 865 773 94 325 161 579 318 369
4.out
9
5.in
100
129 203 432 555 674 713 147 653 724 399 327 347 529 531 828 633 610 172 476 161 571 85 352 590 771 111 199 537 569 490 958 345 795 404 543 221 456 36 642 820 382 371 501 134 851 151 838 144 122 212 733 587 315 607 116 961 598 882 449 947 335 405 662 597 392 769 310 461 365 550 445 291 233 683 609 275 762 918 500 179 168 541 279
蓝桥杯青少组C++组别10级编程练习真题(第8套,共10套)