题解 | #字符串加密#

字符串加密

https://www.nowcoder.com/practice/e4af1fe682b54459b2a211df91a91cf3

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


int main(){

    char key[28], text[102];
    scanf("%s", key);
    getchar();
    fgets(text, sizeof(text), stdin);
    text[strlen(text) - 1] = '\0';

    int len_key = strlen(key);
    char buf[28];
    for(int i = 0, k = 0; i < len_key; i++){
        int flag = 0;
        for(int j = i - 1; j >= 0; j--){
            if(key[i] == key[j])
                flag++;
        }

        if(flag == 0)
            buf[k++] = key[i];

    }

    int len_buf = strlen(buf);
    for(int i = 'a'; i <= 'z'; i++){
        int flag = 0;
        for(int j = 0; j < len_buf; j++){
            if(buf[j] == i)
                flag++;
        }

        if(flag == 0){
            buf[len_buf++] = i;
            buf[len_buf] = '\0';
        }
    }

    char dics[124][124];
    for(int i = 'a', j = 0; i <= 'z'; i++){
        *dics[i] = buf[j++];
    }

    int len_text = strlen(text);
    char paswd[102];
    for(int i = 0; i < len_text; i++){
        if(text[i] >= 'a' && text[i]<= 'z'){
            paswd[i] = *dics[text[i]];
            paswd[i + 1] = '\0';
        }
        else{
            paswd[i] = text[i];
            paswd[i + 1] = '\0';
        }
    }

    printf("%s", paswd);

    return 0;
}

全部评论
菜鸡版本
点赞 回复 分享
发布于 2023-03-08 22:37 美国

相关推荐

头像
10-22 19:18
上海大学 后端
jopajhhdjwnqk:水印都叠杀人书了
点赞 评论 收藏
分享
头像
11-21 11:39
四川大学 Java
是红鸢啊:忘了还没结束,还有字节的5k 违约金
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务