蓝桥等考C++组别
十四
级
第一部分:选择题
1、C++ L
14
(15分)
以下关于ASCII码的说法,错误的是( )。
标准
ASCII编码表中最大的编码是1
27
'a'
的
ASCII码比
'
Z
'
的
ASCII码
大
1
表达式
'a'-'
A
'
与表达式
'
z
'-'
Z
'
的结果相等
每个标准
ASCII码存储容量占1个字节
正确答案:B
2、C++ L
14
(15分)
假定
char s[10] = "I"; char c = 'I';
以下说法中正确的是
( )
。
sizeof(s)
的返回值是1
siz
eof(c)
的返回值是1
strlen(s)
的返回值是1
0
strlen(
c
)
的返回值是1
正确答案:B
3、C++ L
14
(20分)
下面程序的作用是
(
)。
bool fun(char a[], char b[])
{
int l_a = strlen(a);
int l_b = strlen(b);
bool f = false;
for (int i = 0; i <= l_a - l_b; i++)
{
for (int j = 0; j < l_b; j++)
{
if (a[i + j] != b[j])
{
f = false;
break;
}
f = true;
}
if (f)
break;
}
return f;
}
判断字符串a是否是b的子串
判断字符串b是否是
a
的子串
判断字符串a和b是否相等
判断字符串a和b的长度是否相等
正确答案:
B
第二部分:编程题
4、C++ L
14小写变大写
(20分)
题目名称:
小写变大写
题目描述:
给定一个只包含大小写字母的字符串。要求编写程序将字符串里面所有的小写字母变成大写形式。
输入:
一个
字符串,
长度
小于
20
0,只包含英文字母。
输出:
一行,为
转换后的字符串
。
输入样例
1
:
M
usic
输出样例
1
:
MUSIC
参考程序:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char s[200];
int cnt = 0;
cin >> s;
int len = strlen(s);
for(int i = 0; i < len; i++)
{
s[i] = toupper(s[i]);
}
cout << s;
return 0;
}
测试数据:
1.in
Music
1.out
MUSIC
2.in
dAYZdcY
2.out
DAYZDCY
3.in
acBXbabcAZBXbaAffBfcYgggCCZaXYZAXAZYbaBXgZdaAYZaZb
3.out
ACBXBABCAZBXBAAFFBFCYGGGCCZAXYZAXAZYBABXGZDAAYZAZB
余下略
5、C++ L
14
找第一个出现k次的字符
(30分)
题目名称:
找第一个只出现k次的字符
题目描述:
给定一个只包含小写字母的字符串,请编写程序从左往右找到第一个只出现k次的字符。如果没有,输出no。
例如:字符串为e
bacabcc
,k
=2
时,b和a都只出现了2次,由于b先出现,所以程序输出b。
输入:
仅
1
行,
包含
一个字符串和
一个正整数k
;字符串长度小于2
00
,仅包含
小写
英文字母。
两项输入数据之间用一个空格隔开。
输出:
1行,如果有只出现k次的字符,则输出第一个满足条件的字符;否则输出no。
输入样例
1
:
e
bacabcc 2
输出样例
1
:
b
输入样例
2
:
abcd
dd
d 3
输出样例
2
:
no
参考程序:
#include <iostream>
using namespace std;
char s[200];
int b[26]; // 记录每个小写字母出现的次数
int main()
{
int k, pos = 0;
cin >> s >> k;
for (int i = 0; s[i]; i++)
{
pos = s[i] - 'a'; // 将小写字母a-z映射到0-25
b[pos]++;
}
for(int i = 0; s[i]; i++)
{
pos = s[i] - 'a';
if (b[pos] == k)
{
cout << s[i] << endl;
return 0;
}
}
cout << "no";
return 0;
}
测试数据:
1.in
ebacabcc 2
1.out
b
2.in
abcdddd 3
2.out
no
3.in
ilpxpedcebymmksacvtolvpiuutxylpyaisapxymoysbiwkrwsrwcvkomgnjxllzvlianabhhanjjugyqlptbbopqfqmpahbtxxouozixhzhoqfuykyamubjaeokuflmuobibrqqdefwxelmiuzjhqnurynyjghvaofmkgykhxddfyrjt 5
3.out
e
余下略
蓝桥杯青少组C++组别14级编程练习真题(第5套,共9套)