#include <cctype> #include <iostream> #include <vector> using namespace std; int main() { string s; vector<char> letters(26); for(int i = 0; i < 26; i++){ if(i >= 0 && i < 3){ // abc 012 letters[i] = 2; } else if(i >= 3 && i < 6){ // def 345 letters[i] = 3; } else if(i >= 6 && i < 9) { // ghi 678 letters[i] = 4; } else if(i >= 9 && i < 12){ // jkl 9 10 11 letters[i] = 5; } else if(i >= 12 && i < 15){ // mno 12 13 14 letters[i] = 6; } else if(i >= 15 && i < 19){ // pqrs 15 16 17 18 letters[i] = 7; } else if(i >= 19 && i < 22){ // tuv 19 20 21 letters[i] = 8; } else if(i >= 22 && i < 26){ // wxyz 22 23 24 25 letters[i] = 9; } } while (cin >> s) { // 注意 while 处理多个 case string ans; for(char c: s){ if(!isalpha(c)) { ans += c; continue; } if(c >= 'a' && c <= 'z'){ ans += to_string(letters[c - 'a']); } else { int i = (((c ^ 32) - 'a') + 1) % 26; c = 'a' + i; ans += c; } } cout << ans << endl; } return 0; } // 64 位输出请用 printf("%lld")