蓝桥等考C++组别
十四
级
第一部分:选择题
1、
C++ L14 (
15
分)
关于char字符类型,以下表达式计算结果是true的是( )。
A
.
'a' == 'A'
B.
'a' < 'A'
C.
'9' > 'A'
D.
'a' + 1 == 'b'
正确答案:D
2
、C++ L14 (
15
分)
以下计算字符串长度的函数正确的是( )。
A
.
int strlen1(char a[])
{
int len;
for (int i = 0; a[i] != '\0'; i++)
{
len = len + 1;
}
return len;
}
B.
int strlen2(char a[])
{
int len = 0;
for (int i = 0; a[i] != '0'; i++)
{
len = i + 1;
}
return len;
}
C.
int strlen3(char a[])
{
int len;
for (int i = 0; a[i] != '\0'; i++)
{
len++;
}
return len;
}
D.
int strlen4(char a[])
{
int len = 0;
for (int i = 0; a[i] != 0; i++)
{
len = i + 1;
}
return len;
}
正确答案:D
3
、C++ L14 (20分)
以下选项中,没有实现字符串a和b交换的是( )。
A
.
char a[10] = "ABC", b[10] = "123";
for (int i = 0; i < 10; i++)
{
swap(a[i], b[i]);
}
B.
char a[10] = "ABC", b[10] = "123";
char c[10] = "";
strcpy(c, a);
strcpy(a, b);
strcpy(b, c);
C.
char a[10] = "ABC", b[10] = "123";
swap(a, b);
D.
char a[10] = "ABC", b[10] = "123";
char d[10] = "";
d = a;
a = b;
b = d;
正确答案:D
第二部分:编程题
4、
C++ L14
更正名单
(
5
0分)
题目名称:
更正名单
题目描述:
本学期的校级三好学生的名单公布出来了,小蓝发现名单上某个学生名字拼错了,就把名单上错误的名字更正,把正确的名单提交给老师了。
请你设计一个程序来实现小蓝更正名单的过程。
输入:
共
3
行;
第1行是一个
正整数
N
(不大于50),表示三好学生的人数;
第
2
行,包含
N
个字符串
,分别表示三好学生的名字,每两个字符串用空格隔开;
第3行包含2个字符串,分别表示被拼错的名字和正确的名字,两个字符串用空格隔开
;
学生名字字符串只包含英文字母,长度小于2
0
。
题目测试数据保证没有名字相同的情况。
输出:
共
1
行,包含N个字符串,表示按照原来的输入顺序,更正名字后的三好学生名单。每两个字符串用一个空格隔开。
输入样例:
4
Xiaolan
P
eter
Zhangsan
Tommy
Tommy Tom
输出样例:
Xiaolan
P
eter
Zhangsan
Tom
参考程序:
#include<iostream>
#include<cstring>
using namespace std;
const int N = 50;
char sn[N + 1][20];
int main()
{
int n;
char s1[20], s2[20];
cin >> n;
for (int i = 0; i < n; i++)
{
cin >> sn[i];
}
cin >> s1 >> s2;
for (int i = 0; i < n; i++)
{
if (strcmp(s1, sn[i]) == 0)
{
cout << s2 << " ";
}
else
{
cout << sn[i] << " ";
}
}
return 0;
}
测试数据:
1.in
4
Xiaolan Peter Zhangsan Tommy
Tommy Tom
1.out
Xiaolan Peter Zhangsan Tom
2.in
8
iheeejhkj hcfiedee bagkejciek bhi hkc ficga kiihjjji jaega
ficga up
2.out
iheeejhkj hcfiedee bagkejciek bhi hkc up kiihjjji jaega
余下略
蓝桥杯青少组C++组别14级编程练习真题(第1套,共9套)