蓝桥等考C++组别
十二
级
第一部分:选择题
1、
C++ L
12
(
15
分)
关于C++的函数,以下选项正确的是( )。
A
.
子函数的定义必须要写在主函数的前面。
B.
函数必须要有返回值。
C.
函数最后必须要使用return语句,以将程序流程转向给主调函数。
D.
定义
函数时,即使没有参数,也不可以省略函数名后面的括号。
正确答案:D
2
、C++ L
12
(
15
分)
关于变量,以下选项正确的是( )。
A
.
局部变量的名称不能以下划线“_”开头。
B.
函数里面的局部变量不可以和全局变量重名。
C.
局部
变量如果定义的时候没有赋初始值,会自动初始化为0。
D.
在函数定义语句里面的形式参数也是局部变量。
正确答案:D
3
、C++ L
12
(20分)
执行以下代码,输出结果是( )。
int func(int a, int &b)
{
int x = a / b;
b = a % b;
return x;
}
int main()
{
int x = 12, y = 8;
cout << x << " # " << y << " = " ;
cout << func(x, y) << " ... ";
cout << y;
return 0;
}
A
. 12 # 8 = 1 ... 8
B. 12 # 8 = 1 ... 4
C. 12 # 8 = 2 ... 8
D. 12 # 8 = 2 ... 4
正确答案:B
第二部分:编程题
4、
C++ L12
区间里的哈沙德数(
5
0分)
题目名称:
区间里的哈沙德数
题目描述:
哈沙德数(Harshad Number),是指能够被其各个数位上的数字之和整除的自然数。
例如:12是哈沙德数,因为其各个数位上的数字之和为1+2=3,12能被3整除。
现在给定两个正整数m,n,输出m到n之间(包含m、n)所有的哈沙德数。
输入:
输入有
1行,包含
2
个正整数,分别是
m
,
n(0
<
m
<
= n
<
= 1000
),两数之间用空格分隔
。
输出:
输出
1
行,包含m和n之间的所有哈沙德数,
相邻两个数之间用一个空格
分隔
。
如果
m
、
n
之间没有
哈沙德数
,则输出
-
1
。
输入样例:
9 20
输出样例
蓝桥杯青少组C++组别12级编程练习真题(第7套,共8套)