题解 | #字符串加解密#

字符串加解密

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

大小写字母相差32即0x20,按位异或即可转换
int main()
{
    char str[1001];
    
    scanf("%s", str);
    
    for(int i=0; i<strlen(str); i++)
    {
        if(str[i]=='Z')
            str[i] = 'a';
        else if(str[i]=='z')
            str[i] = 'A';
        else if(str[i]=='9')
            str[i] = '0';
        else if(str[i]>='0' && str[i]<='8')
            str[i] += 1;
        else
            str[i] = (str[i]^0x20) + 1;//大小写相差32即0x20,按位异或即可转换
    }
    
    printf("%s\n", str);
    
    scanf("%s", str);
    for(int i=0; i<strlen(str); i++)
    {
        if(str[i]=='a')
            str[i] = 'Z';
        else if(str[i]=='A')
            str[i] = 'z';
        else if(str[i]=='0')
            str[i] = '9';
        else if(str[i]>='1' && str[i]<='9')
            str[i] -= 1;
        else
            str[i] = (str[i]^0x20) - 1;
    }
    printf("%s\n", str);
}


全部评论

相关推荐

美团 后端开发 总包n(15%是股票)
点赞 评论 收藏
分享
菜菜咪:1. 可以使用简历网站的模版,美观度会更好一点 2. 邮箱可以重新申请一个,或者用qq邮箱的别名,部分hr可能会不喜欢数字邮箱 3. 项目经历最好分点描述,类似的项目很多,可以参考一下别人怎么写的 4. 自我评价可加可不加,技术岗更看重技术。最后,加油,优秀士兵
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务