凯撒密码是罗马扩张时期朱利斯•凯撒(Julius Caesar)创造的,用于加密通过信使传递的作战命令,
其原理很简单,就是通过将字母表中的字母移动一定位置而实现加密。
例如,每个字母按字母表顺序向后移3位,如a加密后变成d,b加密后变成e,……
x加密后变成a,y加密后变成b,z加密后变成c。
请编写一个程序,将用户从键盘输入的文本字符串(只包含a~z的字符且长度小于100)进行加密后输出。
函数原型:void Caesar(char c[]);
函数功能:计算凯撒密码
程序的运行结果示例1:
Input a string:baidu↙
edlgx
程序的运行结果示例2:
Input a string:xyz↙
abc
输入提示信息:"Input a string:"
输入格式: 用 gets()函数
输出格式:用 puts()函数
注意:x,y,z三个字母的转换和其他不同,需要区别对待
#include<stdio.h>
void Caesar(char str[]);
int main()
{
char str[100];
printf("Input a string:");
gets(str);
Caesar(str);
puts(str);
return 0;
}
void Caesar(char str[])
{
int i;
for(i=0;str[i]!='\0';i++)
{
if(str[i]>='x' && str[i]<='z')
str[i]=str[i]-23;
else
str[i]=str[i]+3;
}
str[i+1]='\0';
}