2213 . 综合题

阅读程序【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)
    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)
     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 . (判断题)

输入的字符串应当只由大写字母组成,否则在访问数组时可能越界。( )

2 . (判断题)

若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样。()

3 . (判断题)

将第 12 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )

4 . (判断题)

将第 26 行的 i < 26 改为 i < 16,程序运行结果不会改变。( )

5 . (单选题)

若输出的字符串为 $\texttt{ABCABCABCA}$,则下列说法正确的是( )。

6 . (单选题)

若输出的字符串为 $\texttt{CSPCSPCSPCSP}$,则下列说法正确的是( )。