PDF文档公众号回复关键字:20240712
2020 CSP-J 阅读程序1
1阅读程序(程序输入不超过数组或字符串定义的范围;判断题正确填 √,错误填 ×。除特殊说明外,判断题 1.5 分,选择题 3 分,共计 40 分)
01 #include <cstdlib>
02 #include <iostream>
03 using namespace std;
04
05 char encoder[26] = {'C','S','P',0};
06 char decoder[26];
07
08 string st;
09
10 int main() {
11 int k = 0;
12 for (int i = 0; i < 26; ++i)
13 if (encoder[i] != 0) ++k;
14 for (char x ='A'; x <= 'Z'; ++x) {
15 bool flag = true;
16 for (int i = 0; i < 26; ++i)
17 if (encoder[i] ==x) {
18 flag = false;
19 break;
20 }
21 if (flag) {
22 encoder[k]= x;
23 ++k;
24 }
25 }
26 for (int i = 0; i < 26; ++i)
27 decoder[encoder[i]- 'A'] = i + 'A';
28 cin >> st;
29 for (int i = 0; i < st.length( ); ++i)
30 st[i] = decoder[st[i] -'A'];
31 cout << st;
32 return 0;
33 }
判断题
16.输入的字符串应当只由大写字母组成,否则在访问数组时可能越界( ) [1.5分]
17.若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样( ) [1.5分]
18.将第 12 行的“i < 26”改为“i < 16”,程序运行结果不会改变( ) [1.5分]
19.将第 26 行的"i < 26”改为“i < 16”,程序运行结果不会改