题解 | #字符串加解密#

字符串加解密

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

#include<bits/stdc++.h>
using namespace std;
char table[26] = {
    'a','b','c','d','e',
    'f','g','h','i','j',
    'k','l','m','n','o',
    'p','q','r','s','t',
    'u','v','w','x','y','z'
};
char uptable[26] = {
    'A','B','C','D','E',
    'F','G','H','I','J',
    'K','L','M','N','O',
    'P','Q','R','S','T',
    'U','V','W','X','Y','Z'
};
char num[10] = {
    '0','1','2','3','4',
    '5','6','7','8','9'
};

int main()
{
    string needlock;
    string locked;
    cin >> needlock >> locked;
    int len1 = needlock.length();
    int len2 = locked.length();
    for(int i = 0; i < len1; i++)
    {
        if(isalpha(needlock[i])){
            if(islower(needlock[i])){
                needlock[i] = uptable[(needlock[i]-'a' + 1) % 26];
            }else if(isupper(needlock[i])){
                needlock[i] = table[(needlock[i]-'A' + 1) % 26];
            }
        }else if(isdigit(needlock[i]))
        {
            needlock[i] = num[(needlock[i]-'0' + 1)%10];
        }
    }
    for(int i = 0; i < len2; i++)
    {
        if(isalpha(locked[i])){
            if(islower(locked[i])){
                locked[i] = uptable[(25+locked[i]-'a') % 26 ];
            }else if(isupper(locked[i])){
                locked[i] = table[(25+locked[i]-'A') % 26 ];
            }
        }else if(isdigit(locked[i])){
            locked[i] = num[(9+locked[i] - '0') % 10];
        }
    }
    cout << needlock << endl << locked;
    return 0;
}
全部评论

相关推荐

看网上风评也太差了
投递万得信息等公司8个岗位 >
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务