蓝桥等考C++组别
十七
级
第一部分:选择题
1、
C++ L17 (
15
分)
关于C++的类,以下说法不正确的是( )。
A
.
声明为public的成员可以在类的外部访问
B.
声明为private的成员可以在类的内部访问
C.
类里可以定义成员变量,但不可以定义成员函数
D.
在类里面定义的成员变量可以和外部变量重名
正确答案:C
2
、C++ L17 (
15
分)
执行以下代码之后,s
1
的值是( )。
string s1 = "abc";
string s2 = "1";
s1 += s2;
A
.
1
abc
B.
abc
1
C
.
bcd
D.
abd
正确答案:B
3
、C++ L17 (20分)
执行以下代码,输出结果是( )。
string s = "Hello,Lanqiao!";
string f = ",!";
int p1 = s.find_last_of(f, 6);
cout << p1;
A
. 5
B. 6
C. 13
D. 14
正确答案:A
第二部分:编程题
4、
C++ L17
以
“
bi
”开头的单词数量(
2
0分)
题目名称:
以“bi”开头的单词数量
题目描述:
给定若干个英文单词,单词之间
以
一个空格隔开,
请
统计出所有以“bi”开头的单词数量。
例如:
给定的英文单词
为
:
g
ate biweekly
bike
cook
men
其中,以“bi”开头的有
biweekly
和
bike
,故输出2。
输入:
仅1行,包含若干个英文单词(
单词都为
小写字母,单词长度大于2且小于1
1
),单词之间
以
一个空格隔开,总长度不超过
250
。
输出:
一个整数,表示以“bi”开头的单词数量。
输入样例:
g
ate biweekly
bike
cook
men
输出样例:
2
参考程序:
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
int cnt = 0;
while(cin >> s)
{
int len = s.size();
if (s[0] == 'b' && s[1] == 'i')
cnt++;
}
cout << cnt;
return 0;
}
测试数据:
1.in
gate biweekly bike cook men
1.out
2
2.in
qimy biannual zfffscfl biweekly pncxkb ekph wlxybxii referer
2.out
2
余下见附件目录下
testcase
.txt
5、
C++ L17
加法算式(
3
0分)
题目名称:
加法算式
题目描述:
小蓝在黑板上看到一个数学算式题,算式题的形式类似于“
a + ? = b
”,其中a、b代表两个整数。小蓝用手机对这个算式进行拍照扫描并转换成了字符串,转换后
的
字符串中夹杂了多余的空格。
这时小蓝将转换后的字符串给到你,要求你帮助他
计算出问号
代表多少时
,才能使算式成立。
例如:
字符串为:“
2 1 +
?
= 3 3
”
问号为1
2
时算式成立。
输入:
输入
1个
夹杂了多余空格
的
字符串
,表示
拍照扫描并转换成
的
字符串(字符串长度<=
10
0
,且字符串去掉夹杂的空格后的形式类似题目描述给出的形式
)。
题目数据保证算式中的整数都不大于1
000
。
输出:
一个整数,表示问号
代表
的
值
。
输入样例:
2 1 +
?
= 3 3
输出样例:
12
参考程序:
#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(s2) - str2i(s1)<< 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
2 1 + ? = 3 3
1.out
12
2.in
5 + ? = 9
2.out
4
3.in
1 + ? = 7
3.out
6
4.in
1 4 + ? = 4 1 9
4.out
405
5.in
1 5 6 + ? = 6 0 1
5.out
445
蓝桥杯青少组C++组别17级编程练习真题(第3套,共6套)