#includestdio.h
#includestring.h
void main ()
{
char str[100];
char str1[100];
printf("输入字符串:");
scanf("%s",str);
int len;
len=strlen(str);
for(int i=0;i<len;i++)
{
str1[i]=(str[i]-97+3)%26+97;
}
str1[len]='\0';
printf ("密文为:%s\n",str1);
}
#include stdio.h
char s[]="Beijing Technology and Business University (BTBU) is a key state-run university with comprehensive disciplines covering Arts, Sciences, Engineering, Law, Economics, History, Philosophy and Management.";
void fun(char *s,int n)
{
int i=0;
while(s[i]!=0)
{
if(s[i]='z's[i]='a')
{
s[i] += n;
if(s[i]'z') s[i] -=24;
}
else if(s[i]='Z's[i]='A')
{
s[i] += n;
if(s[i]'Z') s[i] -=24;
}
i++;
}
}
void main()
{
fun(s,3);
puts(s);
}
凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。他的原理很简单,说到底就是字母于字母之间的替换。下面让我们看一个简单的例子:“baidu”用凯撒密码法加密后字符串变为“edlgx”,它的原理是什么呢?把“baidu”中的每一个字母按字母表顺序向后移3位,所得的结果就是刚才我们所看到的密文。
#include stdio.h
main()
{
char M[100];
char C[100];
int K=3,i;
printf("请输入明文M(注意不要输入空白串)\n");
gets(M);
for(i=0;M[i]!='\0';i++)
C[i]=(M[i]-'a'+K)%26+'a';
C[i]='\0';
printf("结果是:\n%s\n",C);
}