蓝桥等考C++组别十二级
第一部分:选择题
1、C++ L12 (15分)
以下关于C++函数名描述不正确的是( )。
A.主函数名必须为main
B.函数命名最好取有助于记忆的名字
C.除主函数名外,其他函数名字要遵循标识符的取名规则
D.子函数命名时,只要不和主函数名相同可
随意
命名
正确答案:D
2、C++ L12 (15分)
关于在C++中,以下对形式参数描述不正确的是( )。
A.形式参数可以为空
B.多个
形式参数
之间以分号隔开
C.形式参数必须有类型说明
D.函数有无形式参数,函数名后的小括号都不能省略
正确答案:B
3
、C++ L
12
(20分)
执行以下代码,输出结果是( )。
int i = 5, n = 6;
for (int i = 1; i <= 6; i++)
{
n--;
}
cout << i << ' ' << n;
A
. 6 0
B. 6 4
C. 5 0
D. 5 4
正确答案:C
第二部分:编程题
4
、C++ L12
自守数(50分)
题目名称:
自守数
题目描述:
提示信息:
自守数,亦称同构数,是指一个数的平方的一位或几位尾数等于该数自身的自然数。如:
正整数5的平方为25,25的尾数末一位是5;
正整数25的平方为625,625的尾数末两位是25。
给定
两
个正整数
N和M
,判断
N到M之间有多少个
自守数。
输入:
输入
两
个正整数
N和M
(
0
≤
N
< M
≤
1000
0
)
,两个正整数之间以一个空格隔开。
输出
:
输出一个整数,表示N到M之间(包含N和M)
自守数
的个数。
输入样例:
2 5
输出样例:
1
参考代码:
#include <iostream>
using namespace std;
int num(int n,int m){
int count = 0;
for(int i = n; i<=m; i++){
if(i*i%10000==i||i*i%1000==i||i*i%100==i||i*i%10==i){
count++;
}
}
return count;
}
int main(){
int n,m;
cin >> n >> m;
cout << num(n,m);
return 0;
}
测试数据:
1.in
5 10
1.out
2
2.in
0 26
2.out
5
3.in
6
378
3.out
4
4.in
400 800
4.out
1
5.in
30 9999
5.out
4
蓝桥杯青少组C++组别12级编程练习真题(第3套,共8套)