本题难度不大,根据题意写清楚加密和解密的过程即可,其中涉及到大小写字母之间相互转换的问题。

#include<string>
#include<iostream>
using namespace std;

// 解密操作
void decipher(string &s) {
    for (int i = 0; i < s.size(); i++) {
        if (s[i] >= 'b' && s[i] <= 'z') {
            s[i] = s[i] - 33;
            continue;
        }
        if (s[i] == 'a') {
            s[i] = 'Z';
            continue;
        }
        if (s[i] >= 'B' && s[i] <= 'Z') {
            s[i] = s[i] + 31;
            continue;
        }
        if (s[i] == 'A') {
            s[i] = 'z';
            continue;
        }
        if (s[i] >= '1' && s[i] <= '9') {
            s[i] = s[i] - 1;
            continue;
        }
        if (s[i] == '0') {
            s[i] = '9'; 
            continue;
        }
    }
}

// 加密操作
void encryption(string &s) {
    for (int i = 0; i < s.size(); i++) {
        if (s[i] >= 'a' && s[i] <= 'y') {
            s[i] = s[i] - 31;
            continue;
        }
        if (s[i] == 'z') {
            s[i] = 'A';
            continue;
        }
        if (s[i] >= 'A' && s[i] <= 'Y') {
            s[i] = s[i] + 33;
            continue;
        }
        if (s[i] == 'Z') { 
            s[i] = 'a';
            continue;
        }
        if (s[i] >= '0' && s[i] <= '8') {
            s[i] = s[i] + 1;
            continue;
        }
        if (s[i] == '9') {
            s[i] = '0';
            continue;
        }
    }
}

int main() {
    string s1, s2;
    getline(cin, s1, '\n');
    getline(cin, s2, '\n');
    encryption(s1);
    decipher(s2);
    cout << s1 << endl;
    cout << s2 << endl;
}l