题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#include <iostream> #include <string> using namespace std; string encode(string str){ for(int i = 0; i < str.length(); i++){ switch (str[i]) { case 'A'...'Y': str[i] += 33; break; case 'Z': str[i] = 'a'; break; case 'a'...'y': str[i] -= 31; break; case 'z': str[i] = 'A'; break; case '0'...'8': str[i] += 1; break; case '9': str[i] = '0'; break; default: break; } } return str; } string decode(string str){ for(int i = 0; i < str.length(); i++){ switch (str[i]) { case 'b'...'z': str[i] -= 33; break; case 'a': str[i] = 'Z'; break; case 'B'...'Z': str[i] += 31; break; case 'A': str[i] = 'z'; break; case '1'...'9': str[i] -= 1; break; case '0': str[i] = '9'; break; default: break; } } return str; } int main() { string to_encode, to_decode; cin >> to_encode; cin >> to_decode; string encoded = encode(to_encode); string decoded = decode(to_decode); cout << encoded << endl; cout << decoded << endl; return 0; }