题解 | #字符串加解密#

字符串加解密

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

#import <Foundation/Foundation.h>

void encrypt( char* str ) {
    for ( int i = 0; str[i]; i++ ) {
        if ( str[i] >= 'a' && str[i] < 'z' )
            str[i] = str[i] + 1 - 32;
        else if (  str[i] >= 'A' && str[i] < 'Z' )
            str[i] = str[i] + 1 + 32;
        else if ( str[i] >= '0' && str[i] < '9')
            str[i] = str[i] + 1;
        else if ( str[i] == 'z' )
            str[i] = 'a' - 32;
        else if ( str[i] == 'Z' )
            str[i] = 'A' + 32;
        else if ( str[i] == '9' )
            str[i] = '0';
    }
}
void decrypt(char* str ) {
    for ( int i = 0; str[i]; i++ ) {
        if ( str[i] > 'a' && str[i] <= 'z' )
            str[i] = str[i] - 1 - 32;
        else if (  str[i] > 'A' && str[i] <= 'Z' )
            str[i] = str[i] - 1 + 32;
        else if ( str[i] > '0' && str[i] <= '9')
            str[i] = str[i] - 1;
        else if ( str[i] == 'a' )
            str[i] = 'z' - 32;
        else if ( str[i] == 'A' )
            str[i] = 'Z' + 32;
        else if ( str[i] == '0' )
            str[i] = '9';
    }
}

int main(int argc, char* argv[]) {
    NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];

    char str1[1000];
    char str2[1000];

    gets(str1);
    gets(str2);

    encrypt(str1);
    decrypt(str2);

    printf("%s\n%s\n", str1, str2);

    [pool drain];
    return 0;
}

全部评论

相关推荐

不愿透露姓名的神秘牛友
08-07 15:21
不是哥们,我就随便投投,你咋这么热情
25届上岸PDD_微...:同学,试试我们部门
点赞 评论 收藏
分享
08-07 11:19
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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