蓝桥等考C++组别
十四
级
第一部分:选择题
1、C++ L
14
(15分)
已知大写字母A的ASCII码是65,则大写字母D的ASCII码是( )。
67
68
69
以上都不是
正确答案:B
2、C++ L
14
(15分)
下面程序的作用是
(
)。
char a[100] = "
Hello
";
char b[100] = "
World
";
char c[100] = "";
strcpy(c, a);
strcpy(a, b);
strcpy(b, c);
连接b与
a
连接a与b
交换a与b的内容
判断a是否是b的子串
正确答案:
C
3、C++ L
14
(20分)
按字典序给下面4个字符串排序,正确的结果是
( )
。
play
Play
player
playground
play, Play, player, playground
Play, play, player, playground
Play, play, playground, player
playground, player, play, Play
正确答案:
B
第二部分:编程题
4、C++ L
14
数字字符的个数
(20分)
题目名称:
数字字符的个数
题目描述:
输入一个
字符串,其中可能包含数字0~9和字母
,
输出数字字符的个数。
输入:
一个
字符串,
长度不超过
20。
输出:
一
个整数,为字符串中
数字字符的个数。
输入样例:
ABC123
输出样例:
3
参考程序:
#include <iostream>
using namespace std;
char s[21];
int ans = 0;
int main()
{
cin >> s;
for(int i = 0;
s[i]
; i++)
{
if(s[i] >= '0' && s[i] <= '9')
ans++;
}
cout << ans;
return 0;
}
测试数据:
1.in
ABC123
1.out
3
2.in
ilU41Dx1nIcMYXV17F
2.out
5
3.in
E3JE
3.out
1
4.in
1dCmWZwSeUaIg4tqF
4.out
2
5.in
c788
5.out
3
5、C++ L
14
对对碰
(30分)
题目名称:
对对碰
题目描述:
“对对碰”是一个以消除为目标的休闲小游戏。游戏中有几种不同造型的动物卡片,如下图所示。
一排动物卡片,只要相邻的两个卡片相同,就双双被消除。
一对动物卡片被消除后,两边的其他动物卡片(如果有的话)会占据它们留下的空位,使得原本相同但不相邻的两个动物卡片变为相邻,消除会连续进行。
如果连续3个以上动物卡片相同,且数量是奇数的,只能两两消除,剩下1个不能消除。
下图是例图消除后的情况。
用大写字母A~F代表6种不同的动物卡片,输入一个由
A~F组成的
字符串,代表消除前排成一排的所有动物卡片,输出消除后剩余的动物卡片数量。
输入:
一个字符串,长度小于20,只包含大写A~F字母,代表消除前
的
动物
卡片
。
输出:
一个整数,为消除后剩余的动物卡片数量。如果所有动物卡片都被消除,输出0。
输入样例
1
:
ACBBCDBBBC
输出样例
1
:
4
输入样例
2
:
ABBA
输出样例
2
:
0
参考程序:
#include <iostream>
using namespace std;
char
s
[21];
char t[21];
int p = 0;
int main(){
cin>>s;
for(int i=0; s[i]; i++) //遍历字符串
{
if(t[p] != s[i]) //遇到不一样的就保存下来
t[++p] = s[i];
else //遇到一样的,不但不保存,还要把刚保存的消除
p--;
}
cout << p;
return 0;
}
测试数据:
1.in
ACBBCDBBBC
1.out
4
2.in
ABBA
2.out
0
3.in
ECABAE
3.out
6
4.in
FAACFCFEECBBE
4.out
7
5.in
EEAEDADBFDCD
5.out
10
蓝桥杯青少组C++组别14级编程练习真题(第3套,共9套)