#4345. CSP 2020 普及组级第一轮:阅读程序第一题
CSP 2020 普及组级第一轮:阅读程序第一题
#include <cstdlib>
#include <iostream>
using namespace std;
char encoder[26] = {'C', 'S', 'P', 0};
char decoder[26];
string st;
int main() {
int k = 0;
for (int i = 0; i < 26; ++i)//12
if (encoder[i] != 0) ++k;
for (char x = 'A'; x <= 'Z'; ++x) {
bool flag = true;
for (int i = 0; i < 26; ++i)
if (encoder[i] == x) {
flag = false;
break;
}
if (flag) {
encoder[k] = x;
++k;
}
}
for (int i = 0; i < 26; ++i)//26
decoder[encoder[i] - 'A'] = i + 'A';
cin >> st;
for (int i = 0; i < st.length(); ++i)
st[i] = decoder[st[i] - 'A'];
cout << st;
return 0;
}
判断题和单选题:
判断题
1、输入的字符串应当只由大写字母组成,否则在访问数组时可能越界。( )
{{ select(1) }}
- 正确
- 错误
2、若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样。( )
{{ select(2) }}
- 正确
- 错误
3、将第12行的“i < 26”改为“i < 16”,程序运行结果不会改变。( )
{{ select(3) }}
- 正确
- 错误
4、将第26行的“i < 26”改为“i < 16”,程序运行结果不会改变。( )
{{ select(4) }}
- 正确
- 错误
单选题:
5、若输出的字符串为“ABCABCABCA”,则下列说法正确的是( )。
{{ select(5) }}
- 输入的字符串中既有 S 又有 P
- 输入的字符串中既有 S 又有 B
- 输入的字符串中既有 A 又有 P
- 输入的字符串中既有 A 又有 B
6、若输出的字符串为“CSPCSPCSPCSP”,则下列说法正确的是( )。
{{ select(6) }}
- 输入的字符串中既有 P 又有 K
- 输入的字符串中既有 J 又有 R
- 输入的字符串中既有 J 又有 K
- 输入的字符串中既有 P 又有 R