#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的使用

京公网安备 11010502036488号