题解 | #字符串加解密#

字符串加解密

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;
}

全部评论

相关推荐

你背过凌晨4点的八股文么:简历挂了的话会是流程终止,像我一样
点赞 评论 收藏
分享
双非阴暗爬行:我来看看笑死我了,这名字取得好想笑(没有不好的意思)
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务