蓝桥等考C++组别十三级
第一部分:选择题
1、C++ L13 (15分)
用冒泡排序算法对数列
1, 3, 5, 2, 4, 6
进行从小到大排序,每一趟都把未排序元素中最大的放到未排序位置的最后面,第
一
趟排序后的状态为( )。
A.1 3 5 2 4 6
B.1 3 2 4 5 6
C.1 3 2 5 4 6
D.1 2 3 4 5 6
正确答案:B
2、C++ L13 (15分)
在C++程序中,要使用标准库排序函数sort()需要包含以下哪个头文件?( )
A.<cmath>
B.<cstdio>
C.<algorithm>
D.<
cstdlib
>
正确答案:C
3、C++ L13 (20分)
将数组a中的元素按照从小到大输出,以下代码横线处应填写( )。
const int N = 5;
int a[N] = {7, 5, 2, 3, 1};
__________________
{
for (int j = 0; j < N-i; j++)
{
if (a[j] > a[j + 1])
{
int t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (int i = 0; i <
N
; i++)
{
cout << a[i] << endl;
}
A. for (int i = 1; i < N; i++)
B. for (int i = 0; i < N; i++)
C. for (int i = N - 1; i > 1; i--)
D. for (int i = N; i > 0; i--)
正确答案:A
第二部分:编程题
4
、C++ L13成绩排序(50分)
题目名称:
成绩排序
题目描述:
小蓝和同学一共1
0
人参加朗诵比赛,现给出十名同学的比赛成绩,成绩高的排名靠前。请计算出小蓝的成绩在十名同学中排名第几。
输入:
第一行输入十个不相同的正整数(不超过100),分别表示十名同学的成绩,相邻两数之间以一个空格隔开。
第二行输入一个正整数,表示小蓝的成绩,且小蓝的成绩包含在第一行输入的十个正整数中。
输出:
一个整数,表示小蓝的成绩在十名同学中的排名。
输入样例:
89 95 65 76 100 67 98 81 83 82
89
输出样例:
4
参考代码:
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int n, b[10];
for (int i = 0; i < 10; i++)
{
cin >> b[i];
}
cin >> n;
sort(b, b + 10);
for (int i = 0; i < 10; i++)
{
if(b[i] == n)
{
cout << 10 - i;
}
}
return 0;
}
测试数据:
1.in
89 95 65 76 100 67 98 81 83 82
89
1.out
4
2.in
99 100 89 69 97 20 62 32 45 76
32
2.out
9
3.in
70 90 80 39 99 93 94 98 89 78
90
3.out
5
4.in
21 23 35 70 90 10 39 74 91 67
35
4.out
7
5.in
1 3 5 7 9 10 13 27 19 20
5
5.out
8
蓝桥杯青少组C++组别13级编程练习真题(第5套,共9套)