C语言的凯撒加密

Description有一行电文,请将电文中所有字母按A→F,B→G,……,U→Z,V→A,W→B,X→C,Y→D,Z→E,a→f,b→g,……,u→z,v→a,w→b,... Description

有一行电文,请将电文中所有字母按A→F,B→G,……,U→Z,V→A,W→B,X→C,Y→D,Z→E,a→f,b→g,……,u→z,v→a,w→b,x→c,y→d,z→e的规律译成密文,其他字符保持不变。

Input

多组测试数据,每组输入一行以回车结束的字符串(少于80个字符)。

Output

输出加密后的字符串。

Sample Input

There are 5 ducks.

Sample Output

Ymjwj fwj 5 izhpx
展开
 我来答
cssunbaofeng
2012-06-19
知道答主
回答量:24
采纳率:0%
帮助的人:16.1万
展开全部
/*
和楼上的相比,或许 看上去很烦
ch[i] +=5;
if (ch[i] > 'Z')
{
ch[i] -= 26;
}

可以改成和 楼上的 方法
等价于 ch[i] = 'A' + (ch[i] - 'A' + 5) % 26;

*/

# include <stdio.h>含销运
# include <stdlib.h> //用到了system(); 不写 ,可以用 getchar();

#define strwidth 117 //定义长度

int main(void)
{

char ch[strwidth];
int i ;

printf("请输入密码:");
gets(ch); //输入数据,用gets(); 保留了空格

for (i = 0; i < strwidth ;i++ )
{
if (ch[i] >= 'a' && ch[i] <= 'z' ) //判断是否小写字母
{
ch[i] +=5;
if (ch[i] > 'z') //不解释,我想这样,理解可能会方便点吧
{
ch[i] -= 26;
}
}
else if ( ch[i] >= 'A' && ch[i] <= 'Z') //判断是否大写字母
{
ch[i] +=5;
if (ch[i] > 'Z')
{
ch[i] -= 26;
}
}
}

printf("加密后为:%s\n" , ch); //输出数据

system("pause");
return 0;
}

/*

或者 这样

*/

# include <stdio.h>
# include <stdlib.h>斗扰 //用到了system(); 不写 ,可以用 getchar();

#define strwidth 117 //定义长谈梁度

int main(void)
{

char ch[strwidth];
int i ;

printf("请输入密码:");
gets(ch); //输入数据,用gets(); 保留了空格

for (i = 0; i < strwidth ;i++ )
{
if (ch[i] >= 'a' && ch[i] <= 'z' || ch[i] >= 'A' && ch[i] <= 'Z' ) //判断是否是字母
{
ch[i] +=5;

if ( ch[i]>'Z' && ch[i] <= 'Z' + 5 || ch[i] > 'z' )
{
ch[i] -= 26;
}
}
}

printf("加密后为:%s\n" , ch); //输出数据

system("pause");
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuhansen
2012-06-18 · TA获得超过4088个赞
知道大有可为答主
回答量:1383
采纳率:50%
帮助的人:1220万
展开全部
#include <stdio.h>

int main()
{
char c;
while ((c=getchar())!='\n')
{
if(c>='物嫌A'&&c<='Z')
c='A'+(c-'A'+5)%26;
else if(c>='a'罩知手&&c<猛宽='z')
c='a'+(c-'a'+5)%26;
putchar(c);
}
return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式