题解 | #字符串加密#

字符串加密

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

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

int main(){
char key[100];
int i,j,k;
while( scanf("%s",&key) != EOF ){
    int len1,len2;
    int flag;
    char word[100];
    scanf("%s",&word);
    len1=strlen(key);
    //去重key
    for(i=1;i<len1;i++){
        for(j=0;j<i;j++){
            if(key[i]==key[j]){
                for(k=i;k<len1-1;k++)
                    key[k]=key[k+1];
                len1--;
                i--;
            }
        }
    }
    //补充生成新的key
    for(i=0;i<26;i++){
        flag=1;
        for(j=0;j<len1;j++){
            if(key[j]=='a'+i)
                flag=0;
        }
        if(flag==1){
            key[len1]='a'+i;
            len1++;
        }
    }
    //开始转换明文
    len2=strlen(word);
    for(i=0;i<len2;i++){
        for(j=0;j<26;j++){
            if(word[i]=='a'+j){
                word[i]=key[j];
                break;
            } 
        }
    }
    //输出新的密文
     for(i=0;i<len2;i++)
         printf("%c",word[i]);
    printf("\n");
}
}
全部评论

相关推荐

点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

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