题解 | #字符串加解密#

字符串加解密

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


using namespace std;

string encryption(string s)
{
    for(int i=0;i<s.size();i++)
    {
        if(isalpha(s[i]))
        {
            if(s[i]>='a'&&s[i]<'z')
            {
                s[i]=toupper(s[i]+1);
            }
            else if(s[i]=='z')
            {
                s[i]='A';
            }
            else if(s[i]>='A'&&s[i]<'Z')
            {
                s[i]=tolower(s[i]+1);
            }
            else if(s[i]=='Z')
            {
                s[i]='a';
            }
        }
        else if(isdigit(s[i]))
        {
            if(s[i]>='0'&&s[i]<'9')
            {
                s[i]=s[i]+1;
            }
            else
            {
                s[i]='0';
            }
        }
    }
    
    return s;
}

string decryption(string s)
{
    for(int i=0;i<s.size();i++)
    {
        if(isalpha(s[i]))
        {
            if(s[i]>'a'&&s[i]<='z')
            {
                s[i]=toupper(s[i]-1);
            }
            else if(s[i]=='a')
            {
                s[i]='Z';
            }
            else if(s[i]>'A'&&s[i]<='Z')
            {
                s[i]=tolower(s[i]-1);
            }
            else if(s[i]=='A')
            {
                s[i]='z';
            }
        }
        else if(isdigit(s[i]))
        {
            if(s[i]>'0'&&s[i]<='9')
            {
                s[i]=s[i]-1;
            }
            else
            {
                s[i]='9';
            }
        }
    }
    return s;
}

int main()
{
    string s1,s2;
    while(cin>>s1>>s2)
    {
        cout<<encryption(s1)<<endl<<decryption(s2)<<endl;
    }
    return 0;
}
全部评论

相关推荐

09-24 18:30
已编辑
长春工业大学 产品经理
小肥罗:HR就是好人的缩写哈哈哈哈
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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