项目36.2 转着圈加密

来源:互联网 发布:淘宝客佣金 编辑:程序博客网 时间:2024/06/05 10:42

任务和代码:为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。加密办法,如图所示,每一个字母的密文是其后第4个字母,若超出了字母的范围,将A看作为Z的下一个字母,将a看作是z的下一个字线,依次顺延。



如″Wonderful!″转换为″Asrhivjyp!″。
输入一行字符,要求输出其相应的密码。

/*文件名:main.c作者:小风景完成日期:2015.9.11问题描述:  为使电文保密,往往按一定规律将电文转换成密码,收报人再按约定的规律将其译回原文。加密办法,如图所示,每一个字母的密文是其后第4个字母,若超出了字母的范围,将A看作为Z的下一个字母,将a看作是z的下一个字线,依次顺延。程序输出:输入一行字符,要求输出其相应的密码。*/#include <stdio.h>int 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;                          //超出的部分减去26个字母回到26哥字母环中。        }        putchar(c);    }    return 0;}

运行结果:


总结:程序中已经选限定,只对输入的字母进行转换,非字母课直接输出,并且如果c=wxyz ,执行c=c+4,字母已超出z,用c-26 回到字母a-z的循环中。

---------------------------------------------------------------------------------------------------------------------

让时间说真话,虽然我也害怕。

0 0
原创粉丝点击