方法1:
// // Created by alleyf on 2023/6/26. // #include<bits/stdc++.h> using namespace std; int main() { string s; while (getline(cin, s)) { if (s != "ENDOFINPUT") { if (s != "START" && s != "END") { int i = 0; for (char item : s) { if ((item >= 'A' && item <= 'Z')) s[i] = 'A' + (item - 'A' + 21) % 26; i++; } cout << s << endl; } } else { break; } } return 0; }
方法2:
// // Created by alleyf on 2023/6/26. // #include<bits/stdc++.h> using namespace std; map<char, char> pwd_map{ {'A', 'V'}, {'B', 'W'}, {'C', 'X'}, {'D', 'Y'}, {'E', 'Z'}, {'F', 'A'}, {'G', 'B'}, {'H', 'C'}, {'I', 'D'}, {'J', 'E'}, {'K', 'F'}, {'L', 'G'}, {'M', 'H'}, {'N', 'I'}, {'O', 'J'}, {'P', 'K'}, {'Q', 'L'}, {'R', 'M'}, {'S', 'N'}, {'T', 'O'}, {'U', 'P'}, {'V', 'Q'}, {'W', 'R'}, {'X', 'S'}, {'Y', 'T'}, {'Z', 'U'}, }; int main() { string s; while (getline(cin, s)) { if (s != "ENDOFINPUT") { if (s != "START" && s != "END") { int i = 0; for (char item : s) { if ((item >= 'A' && item <= 'Z')) s[i] = pwd_map[item]; i++; } cout << s << endl; } } else { break; } } return 0; }