2020年信息学奥赛csp-j阅读程序题:
#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
输入的字符串中既有A又有P
输入的字符串中既有A又有B
若输出的字符串为“CSPCSPCSPCSP” 则下列说法正确的是()。
输入的字符串中既有J又有R
输入的字符串中既有P又有K
输入的字符串中既有J又有K
输入的字符串中既有P又有R