MENU

凯撒密码的加密与解密

April 4, 2020 • 算法

解密
请注意,本文的算法只考虑了a-z的加解密,其他的方式请自己修改代码

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

int main() {
    char string[120];
    int shift,length;
    while (scanf("%s",string)!=EOF){
        scanf("%d",&shift);
        length=strlen(string);
        for (int i=0;i<length;i++){
            string[i]=(string[i]-'a'-shift+26)%26+'a';
        }
        printf("%s\n",string);
    }
    return 0;
}

加密

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

int main() {
    char string[120];
    int shift,length;
    while (scanf("%s",string)!=EOF){
        scanf("%d",&shift);
        length=strlen(string);
        for (int i=0;i<length;i++){
            string[i]=(string[i]-'a'+shift)%26+'a';
        }
        printf("%s\n",string);
    }
    return 0;
}
作者:NorthCity1984
出处:https://grimoire.cn/algorithm/caesar.html
版权:本文《凯撒密码的加密与解密》版权归作者所有
转载:欢迎转载,但未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任