用C编一个恺撒密码

来源:百度知道 编辑:UC知道 时间:2024/06/01 18:23:26
要求将输入的字母的值加4(变成其后的第4个字母),但输入小写字母时结果不对,程序如下:
#include <stdio.h>
void main()
{
char c;
while((c=getchar())!='\n')
{
if((c>='a' && c<='z')||(c>='A' && c<='Z'))
{
c=c+4;
if((c>'Z' && c<='Z+4')||( c>'z'))
c=c-26;
}
printf("%c",c);
}
printf("\n");
}

//改成下面就行了。由c=c+4,可能超出大写字母或小写字母。

#include <stdio.h>
void main()
{
char c;
while((c=getchar())!='\n')
{
if(c>='a' && c<='z')
{

c=(c-'a'+4)%26+'a';
}
else if(c>='A'&&c<='Z')
{
c=(c-'A'+4)%26+'A';
}
printf("%c",c);
}
printf("\n");
}

#include <stdio.h>
void main()
{
char c;
while((c=getchar())!='\n')
{
if ((c>='a' && c<='z')||(c>='A' && c<='Z'))
{
c=c+4;
if ((c >char('Z') && c<=char('Z')+4)||( c>char('z')))
c=c-26;
}
printf("%c",c);
}
printf("\n");
}

if((c>'Z' && c