凯撒密码的加密
#include <stdio.h>
int main()
{
char a[80],b[80];//a为原码,b为加密
int i,k;
scanf("%d",&k);
gets(a);
while(a[i]!='\0')
{
if(a[i]>='a'&&a[i]<='z')
{
b[i]=a[i]+k;
if(b[i]>'z')
b[i]-=26;
}
else
if(a[i]>='A'&&a[i]<='Z')
{ b[i]=a[i]+k;
if(b[i]>'Z')
b[i]-=26;
}
else b[i]=a[i];
i++;
}
b[i]='\0';
puts(b);
}
凯撒解密
#include <stdio.h>
void main()
{
char a[80],b[80];//a为原码,b
int i,k;
scanf("%d",&k);
gets(b);
while(b[i]!='\0')
{
if(b[i]>='a'&&b[i]<='z')
{
a[i]=b[i]-k;
if(a[i]<'a')
a[i]+=26;
}
else
if(b[i]>='A'&&b[i]<='Z')
{
a[i]=b[i]-k;