A.
B.
C.
D.
答案
A.
B.
C.
D.
答案
A.
B.
C.
D. 第
11 届蓝桥杯 C++青少组中 /高级组选拔赛真题
题目总数: 10
总分数:550
一、选择题
第 1 题
单选题
一个 C++语言的源程序中,有关主函数的说法正确的是( ) .
可以有多个主函数
必须有一个主函数
必须有主函数和其他函数
可以没有主函数
B
第 2 题
单选题
在下面的条件语句中(其中 s1和s2 代表 C++语言的语句),只有一个在功能上与其它三个语句不等价,它是(
)。
if( a) s1 ;else s2 ;
if ( a==0 )s2 ;else s1 ;
if ( a! =0 )s1 ;else s2 :
if ( a==0 )s1 ;else s2 ;
D
第 3 题
单选题
有如下程序段,则以下说法中正确的是( )。
int k=5 ;
do
{
k--;
}while (k<=0 );
循环执行 5次
循环体语句一次也不执行
循环是无限循环
循环体语句执行一次
答案
A.
B.
C.
D.
答案
A.
B.
C.
D.
答案 D
第 4 题
单选题
桌上放着红桃、黑桃和梅花三种牌,共 20张。以下说法中正确的是( )
桌上至少有一种花色的牌少于 6张
桌上至少有一种花色的牌多于 6张
桌上任意两种牌的总数将不超过 19张
( 1)、( 2)
( 1)、( 3)
( 2)、( 3)
( 1)、( 2)和( 3)
C
第 5 题
单选题
小蓝和小青以及他们的爸爸妈妈共计 6个人外出游玩,乘坐有 6个座位的游览车,游览车每排只有 1个座位,每
人都要单独坐一个座位 ·为安全起见,车的首尾两座一定要坐两位爸爸:小蓝和小青一定要前后挨着坐,那么,
这 6人的排座方法共有( )种。
2
24
36
48
B
二、编程题
第 6 题 问答题
2019 年11 月,为了让选手们获得更好的参赛体验,蓝桥杯大赛青少年创意编程 C++组细分为初级组和高级组,
小蓝第一次报名参 C++组的比赛,不知道自己该选择哪一组参赛,你能给他一些建认吗?蓝桥杯规定 8到 12 岁
的选手可以参加初级组: 13到18 岁的选手可以参加高级组的此赛:如果小于 8岁,告诉他: “他还太小 ”:如果
大于 18岁,告诉他: “他太大了 ”。
程序命名: age.cpp
输入:
一个整数 n( 1<n<100 ),代表小蓝的年龄。
输出:
请给出参赛建议:
小于 8岁,输出信息为: "You
are too young!"
8 到 12 岁,输出信息为: "Welcome
to Junior Class!"
答案
解析
13
到18 岁,输出信息为: "Welcome to Senior Class !"
19 岁及以上,输出信息为: "You are too old!"
样例输入:
样例输出:
评分标准:
30 分:完成题目样例和给出的一个样例:
40 分:在 30分的基础上完成给出的第三个样例:
50 分:在 40分的基础上完成给出的第四个样例。
第 7 题 问答题
编程实现:还差多少天到 2020年?
时光飞逝,转眼间就到了 2019年的最后一个月,小蓝也在期盼着 2020年的到来,那意味着小蓝又长大了一
岁。你能帮小蓝计算一下还有几天就到 2020年了吗?
输入
两个整数 month,day 表示 2019 年的某月某日( 0<month<13, 0<day<32 ).
9
Welcome to Junior Class !
#include <stdio.h>
int main () {
int n;
scanf ("%d" , &n);
if (n < 8) {
printf ("You are too young!" );
}
if (n >= 8 && n <= 12) {
printf ("Welcome to Junior Class!" );
}
if (n >= 13 && n <= 18) {
printf ("Welcome to Senior Class!" );
}
if (n >= 19) {
printf ("You are too old!" );
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
答案
输出
一个整数,表示距离 2020年的天数。
样例输入
样例输出
12 31
1
// 参 考 程 序 1:
#include <iostream>
using namespace std;
int main () {
int month, day, days, i,
months[ 12] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30};
// month: 输 入 的 月 份 day: 输 入 的 天 数 days:2019 年 总 天 数 i:控 制 循 环 次 数
// months: 数 组 存 储1月 到 11月 的 天 数 1月 : 31 2 月 :28 3 月 :31 4 月 :30 5 月 :
// 6 月 :30 7 月 :31 8 月 :31 9 月 30 10 月 :31 11 月 :30 12 月 :31
cin >> month >> day; // 输 入 当 前 月 份 和 时 间
days = 366; // days 为2019 年 总 天 数 +1 加1是 因 为 12月31 号 要 在 过 一 天 才 到 2
for (i = month - 1; i > 0;
i--) // month-1原 因 : 当 月 天 数 最 后 再 减 , 先 把 之 前 月 份 天 数 减 去
{
days = days - months[i]; // 用 循 环 减 去 之 前 每 月 的 总 天 数
}
days = days - day; // 再 减 去 当 月 的 天 数
cout << days << endl; // 输 出 还 剩 几 天
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 参 考 程 序 2:
#include <iostream>
using
第11届蓝桥杯C++青少组中_高级组选拔赛真题-附答案,第11届青少组蓝桥杯C++中高级组STEMA选拔赛真题及答案