C++简单版

字符串加解密

http://www.nowcoder.com/questionTerminal/2aa32b378a024755a3f251e75cbf233a

#include<iostream>
#include<vector>
#include<string>

using namespace std;

string encodeStr(string str){
    string res;
    for(auto s: str){
        if(isalpha(s)){
            if(isalpha(s)){
                if(isupper(s)){
                    s = tolower(s);
                    if(s == 'z'){
                        s = 'a';
                    }else{
                        s = char(s+1);
                    }
                }else if(islower(s)){
                    s = toupper(s);
                    if(s == 'Z'){
                        s = 'A';
                    }else{
                        s = char(s+1);
                    }
                }
            }
        }else if(isdigit(s)){
            if(s == '9') s = '0';
            else s = s+1;
        }
        res+=s;
    }
    return res;
}

string decodeStr(string str){
    string res;
    for(auto s: str){
        if(isalpha(s)){
            if(isalpha(s)){
                if(isupper(s)){
                    s = tolower(s);
                    if(s == 'a'){
                        s = 'z';
                    }else{
                        s = char(s-1);
                    }
                }else if(islower(s)){
                    s = toupper(s);
                    if(s == 'A'){
                        s = 'Z';
                    }else{
                        s = char(s-1);
                    }
                }
            }
        }else if(isdigit(s)){
            if(s == '0') s = '9';
            else s = s-1;
        }
        res+=s;
    }
    return res;
}

int main(){
    string str1, str2;
    while(cin >> str1 >> str2){
        cout << encodeStr(str1) << endl;
        cout << decodeStr(str2) << endl;
    }
    return 0;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 15:58
投个小米提前批试试水,先投一个岗位看看形势,不行就再沉淀一下投第二个岗位,莫辜负
Java抽象带篮子:我嘞个骚刚,已经开始研发6g了吗
投递小米集团等公司9个岗位
点赞 评论 收藏
分享
05-19 15:21
已编辑
门头沟学院 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务