题解 | #字符串加解密#
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#include <iostream> using namespace std; #include <cctype> string encrypt(string a) { string b = a; int num; char l; for (int i = 0; i < a.size(); i++) { if (isdigit(a[i])) { num = a[i] - '0'; if (num <= 8) { num++; } else if (num == 9) { num = 0; } b[i] = num + '0'; } else if (islower(a[i])) { if (a[i] != 'z') { b[i] = toupper((a[i] + 1)); } else { b[i] = 'A'; } } else if (isupper(a[i])) { if (a[i] != 'Z') { b[i] = tolower((a[i] + 1)); } else { b[i] = 'a'; } } else { b[i] = a[i]; } } return b; } string decrypt(string a) { string b = a; int num; char l; for (int i = 0; i < a.size(); i++) { if (isdigit(a[i])) { num = a[i] - '0'; if (num > 0) { num--; } else if (num == 0) { num = 9; } b[i] = num + '0'; } else if (islower(a[i])) { if (a[i] != 'a') { b[i] = toupper((a[i] - 1)); } else { b[i] = 'Z'; } } else if (isupper(a[i])) { if (a[i] != 'A') { b[i] = tolower((a[i] - 1)); } else { b[i] = 'z'; } } else { b[i] = a[i]; } } return b; } int main() { string a; string b; cin >> a; cout << encrypt(a) << endl; cin >> b; cout << decrypt(b) << endl; }
cctype的使用
华为机试刷题记录 文章被收录于专栏
记录一下手打代码的解题思路方便复习