蓝桥等考C++组别
十四
级
第一部分:选择题
1、C++ L
14
(15分)
以下说法,正确的是( )。
'a'
和
"
a
"
占用的字节数都一样
常量字符串
"Hello"
的存储长度是5个字节
空字符串不占用存储空间
空字符也
是字符
正确答案:
D
2、C++ L
14
(15分)
假定
char s[10] = "Hello";
以下说法中正确的是
( )
。
sizeof(s)
的返回值是
6
s
[5]
、s
[6]
、s
[7]
、
s[8]
、
s[9]
的值都是
空字符
s[7]
的值是
'0'
strlen(s)
的返回值是1
0
正确答案:B
3、C++ L
14
(20分)
阅读下面的程序,以下说法正确的是
(
)。
char p1[10] = "aab", p2[10] = "abb", p3[10] = "aab1", p4[10] = "abb";
int fun(char a[], char b[])
{
int result = 0;
int i = 0;
while(true)
{
if (a[i] == 0 && b[i] == 0)
return 0;
if (a[i] == 0 && b[i] != 0)
return -1;
if (a[i] != 0 && b[i] == 0)
return 1;
if (a[i] < b[i])
return -1;
if (a[i] > b[i])
return 1;
i++;
}
}
fun
(
p
1, p2)
的返回值是1
fun
(
p
1, p3)
的返回值是
0
fun
(
p
2, p3)
的返回值是-1
fun
(
p
2, p4)
的返回值是
0
正确答案:D
第二部分:编程题
4、C++ L
14
回文字符串
(20分)
题目名称:
回文字符串
题目描述:
输入一个
字符串,判断它是否是回文字符串(正读和倒读是一样的字符串,如“
madam
”、“aba”等)。
输入:
一个
字符串,
长度
小于
4
0,
全部由小写字母组成,
且不包含空格字符。
输出:
如果是回文字符串,输出y
es;
否则,输出n
o
。
输入样例
1
:
a
bca
输出样例
1
:
n
o
输入样例
2
:
a
b
ba
输出样例
2
:
yes
参考程序:
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
char s[40];
cin >> s;
int len = strlen(s);
for(int i = 0; i < len / 2; i++)
{
if(s[i] != s[len - i - 1])
{
cout << "no";
return 0;
}
}
cout << "yes";
return 0;
}
测试数据:
1.in
abca
1.out
no
2.in
abba
2.out
yes
3.in
a
3.out
yes
4.in
baaaaaaaaaaaaaaaaaab
4.out
yes
5.in
aaaaaaaaabaaaaaaaaaa
5.out
no
5、C++ L
14
倒背如流
(30分)
题目名称:
倒背如流
题目描述:
给定一行字符串,包含若干个英文单词,单词之间以一个空格分隔。要求编写程序倒序(从后往前)输出字符串里面的单词(单词的拼写不变)。
输入:
仅
1
行,
包含
一行字符串;字符串长度小于2
00
,仅包含小写英文字母和空格。
输出:
仅1行,表示将
字符串里面的单词
倒序
输出
的结果,
单词之间以一个空格分隔
。
输入样例
1
:
just do it
输出样例
1
:
it do just
参考程序:
#include<iostream>
using namespace std;
char a[110][200];
int main()
{
int cnt = 0;
while(cin >> a[cnt])
{
cnt++;
}
for(int i = cnt-1; i >= 0; i--)
{
cout << a[i] <<' ';
}
return 0;
}
测试数据
:
1.in
just do it
1.out
it do just
2.in
apple pen
2.out
pen apple
3.in
math english
3.out
english math
余下略
蓝桥杯青少组C++组别14级编程练习真题(第6套,共9套)