题解 | #字符串加解密#

字符串加解密

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

#include <ctype.h>
#include <stdio.h>
#include <string.h>

int main() {

    char input[1010] = {0};
    char line[1010] = {0};
    gets(input);
    gets(line);

    int len = strlen(input);
    for (int i = 0; i < len; ++ i) {
        if (islower(input[i])) {
            input[i] = toupper(input[i]);
            if (input[i] == 'Z') {
                input[i] = 'A';
            } else {
                input[i] += 1;
            }
        }else if (isupper(input[i])) {
            input[i] = tolower(input[i]);
            if (input[i] == 'z') {
                input[i] = 'a';
            } else {
                input[i] += 1;
            }
        }else if (isdigit(input[i])) {
            if (input[i] == '9') {
                input[i] = '0';
            } else {
                input[i] += 1;
            }
        }
    }
    puts(input);

    len = strlen(line);
    for (int i = 0; i < len; ++ i) {
        if (islower(line[i])) {
            line[i] = toupper(line[i]);
            if (line[i] == 'A') {
                line[i] = 'Z';
            } else {
                line[i] -= 1;
            }
        }else if (isupper(line[i])) {
            line[i] = tolower(line[i]);
            if (line[i] == 'a') {
                line[i] = 'z';
            } else {
                line[i] -= 1;
            }
        }else if (isdigit(line[i])) {
            if (line[i] == '0') {
                line[i] = '9';
            } else {
                line[i] -= 1;
            }
        }
    }
    puts(line);


    return 0;
}

全部评论

相关推荐

点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-02 18:35
简历上把1个月实习写成了3个月,会进行背调吗?
码农索隆:一个月有一个月的实习经历,三个月有三个月的实习经历
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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