蓝桥等考C++组别
十七
级
第一部分:选择题
1、
C++ L17 (
15
分)
关于类的构造函数,以下说法不正确的是( )。
A
.
构造函数是类的一种特殊的成员函数,在创建类的对象时执行
B.
构造函数
的
返回值类型是void
C.
默认的构造函数没有参数
D.
一个类
中
可以有多个构造函数
正确答案:B
2
、C++ L17 (
15
分)
执行以下代码之后,输出结果是( )。
string s1 = "abc";
string s2 = "
ab
c1";
bool ans = (s1
<
s2);
c
out << ans;
A
.
1
B.
0
C
.
-1
D.
程序报错
正确答案:
A
3
、C++ L17 (20分)
执行以下代码,输出结果是( )。
string s = "Hello,Lanqiao!";
string s1 = s.erase(2, 4);
cout << s << endl << s1;
A
.
Heo,Lanqiao!
Heo,Lanqiao!
B.
HeLanqiao!
HeLanqiao!
C.
Hello,Lanqiao!
Heo,Lanqiao!
D.
Hello,Lanqiao!
HeLanqiao!
正确答案:
B
第二部分:编程题
4、
C++ L17
数字字符的
数量(
2
0分)
题目名称:
数字字符的数量
题目描述:
给定一个字符串,输出
字符串
中数字字符的数量。
输入:
一个字符串,其中可能包含空格,长度不超过
250
。
输出:
一个整数,为数字字符的数量。
输入样例:
a
1
b
2c d3
输出样例:
3
参考程序:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
int cnt = 0;
while(cin >> s)
{
int len = s.size();
for (int i = 0; i < len; i++)
{
if (s[i] >= '0' && s[i] <= '9')
cnt++;
}
}
cout << cnt;
return 0;
}
测试数据:
1.in
a1b2c d3
1.out
3
2.in
9cBojhelku
2.out
1
3.in
Buj2ecE4tbhB4x1Augf7
3.out
5
4.in
C51zr7pha7AFiEBcCEzAs8z5gy8gfE2 xp3lx1 AG5usvCfhskiCwGc
4.out
11
余下见附件目录下
testcase
.txt
5、
C++ L17
减
法算式(
3
0分)
题目名称:
减法算式
题目描述:
小蓝在黑板上看到一个数学算式题,算式题的形式类似于“
a - ? = b
”,其中a、b代表两个整数。小蓝用手机对这个算式进行拍照扫描并转换成了字符串,转换后字符串中间夹杂了多余的空格。
这时小蓝将转换后的字符串给到你,要求你帮助他
计算出问号
代表多少时
,才能使算式成立。
例如:
字符串为:“
2 1 -
?
= 1 3
”
问号为
8
时算式成立。
输入:
输入
1个
夹杂了多余空格
的
字符串
,表示
拍照扫描并转换成
的
字符串(字符串长度<=
10
0
,且字符串去掉夹杂的空格后的形式类似题目描述给出的形式
)。
题目数据保证算式中的整数都不大于1
000
。
输出:
一个整数,表示问号
代表
的
值
。
输入样例:
1 9 -
?
= 1 3
输出样例:
6
参考程序:
#include<iostream>
#include<string>
using namespace std;
int str2i(string s);
int main()
{
string s, s1, s2;
getline(cin, s);
int pos1 = s.find("-");
s1 = s.substr(0, pos1 + 1);
pos1 = s.find("=");
s2 = s.substr(pos1);
cout << str2i(s1) - str2i(s2)<< endl;
return 0;
}
int str2i(string s)
{
int res = 0;
for (int i = 0; i <= s.size(); i++)
{
if (s[i] >= '0' && s[i] <= '9')
{
res = res * 10 + s[i] - '0';
}
}
return res;
}
测试数据:
1.in
1 9 - ? = 1 3
1.out
6
2.in
9 - ? = 1
2.out
8
3.in
6 - ? = 5
3.out
1
4.in
3 9 4 - ? = 2 5 2
4.out
142
余下略。
蓝桥杯青少组C++组别17级编程练习真题(第4套,共6套)