作者 c++课程组 单位 湖州师范学院
在密码学中,恺撒密码(Caesar cipher),或称恺撒加密、恺撒变换、变换加密,是一种最简单且最广为人知的加密技术。它是一种替换加密的技术,明文中的所有字母都在字母表上向后循环按照一个固定数目进行偏移后被替换成密文。例如,当偏移量是3的时候,所有的字母A将被替换成D,B变成E,以此类推。这个加密方法是以罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系。
输入格式:
一个字符串(仅仅一行,字符不超过1000)。
输出格式:
加密的字符串。注:字符串中大写字母循环后移3位,小写字母循环后移3位,其它符号不变。
输入样例:
abc xyz!
输出样例
def abc!
!!!注意运行环境选择c(gcc)!!!
#include<stdio.h>
#include<string.h>
int main(){
char s[1000],ll[1000];
int i;
gets(s);//不能用scanf,因为其读到空格就会结束!!!
int len=strlen(s);
for(i=0;i<len;i++)
if(s[i]>='A'&&s[i]<='Z')
s[i]=(s[i]-'A'+3)%26+'A';
else if(s[i]>='a'&&s[i]<='z')
s[i]=(s[i]-'a'+3)%26+'a';
printf("%s",s);
return 0;
}