CSPJ2020 阅读程序题
1、第16题
#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; }
输入的字符串应当只由大写字母组成,否则在访问数组时可能越界。( )
若输入的字符串不是空串,则输入的字符串与输出的字符串一定不一样。()
将第 12 行的“i < 26”改为“i < 16”,程序运行结果不会改变。( )
将第 26 行的"i < 26”改为“i < 16”,程序运行结果不会改变。( )
若输出的字符串为“ABCABCABCA”,则下列说法正确的是( )。
输入的字符串中既有A又有P
输入的字符串中既有S又有B
输入的字符串中既有S又有P
输入的字符串中既有A又有B
若输出的字符串为“CSPCSPCSPCSP”,则下列说法正确的是( )
输入的字符串中既有J又有R
输入的字符串中既有P又有K
输入的字符串中既有J又有K
输入的字符串中既有P又有R
发表评论