#339. CSP2020PJ-16

CSP2020PJ-16

  1. (阅读程序)
#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;
}

(判断题)

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

{{ select(1) }}

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

{{ select(2) }}

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

{{ select(3) }}

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

{{ select(4) }}

(选择题)

若输出的字符串为 “ABCABCABCA”,则下列说法正确的是( )

{{ select(5) }}

  • 输入的字符串中既有 A 又有 P
  • 输入的字符串中既有 S 又有 B
  • 输入的字符串中既有 S 又有 P
  • 输入的字符串中既有 A 又有 B

若输出的字符串为 “CSPCSPCSPCSP”,则下列说法正确的是( )

{{ select(6) }}

  • 输入的字符串中既有 J 又有 R
  • 输入的字符串中既有 P 又有 K
  • 输入的字符串中既有 J 又有 K
  • 输入的字符串中既有 P 又有 R