题解 | 字符串加解密
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#include <iostream> #include <string> using namespace std; string encrypt(string s) { string ret = s; for(size_t i = 0; i < s.size(); i++){ if(s[i] >= 'a' && s[i] <= 'z'){ if(s[i] == 'z'){ ret[i] = 'a' - 'a' + 'A'; }else{ ret[i] = s[i] - 'a' + 1 + 'A'; } } if(s[i] >= 'A' && s[i] <= 'Z'){ if(s[i] == 'Z'){ ret[i] = 'A' - 'A' + 'a'; }else{ ret[i] = s[i] - 'A' + 1 + 'a'; } } if(s[i] >= '0' && s[i] <= '9'){ if(s[i] == '9'){ ret[i] = '0'; }else{ ret[i] = s[i] + 1; } } } return ret; } string decrypt(string s) { string ret = s; for(size_t i = 0; i < s.size(); i++){ if(s[i] <= 'z' && s[i] >= 'a'){ if(s[i] == 'a'){ ret[i] = 'Z'; }else{ ret[i] = s[i] - 1 - 'a' + 'A'; } } if(s[i] <= 'Z' && s[i] >= 'A'){ if(s[i] == 'A'){ ret[i] = 'z'; }else{ ret[i] = s[i] - 1 - 'A' + 'a'; } } if(s[i] <= '9' && s[i] >= '0'){ if(s[i] == '0'){ ret[i] = '9'; }else{ ret[i] = s[i] - 1; } } } return ret; } int main() { string s; string t; cin >> s >> t; cout << encrypt(s) << endl; cout << decrypt(t) << endl; } // 64 位输出请用 printf("%lld")