马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
将字母A变成字母E,a变成e,即变成其后的第4个 字母,W变成A,X变成B,Y变成C,Z变成D。
友情提示:应该有要求两个功能!
一, 输入原文译成密码;
二,输入密码译成原文!
根据小甲鱼的提示和参考大家的代码,写出了具有这样俩个功能的程序,请大家指教: - #include <stdio.h>
- void main()
- {
- int m; //判断是要进行译文还是密文标志
- char c;
- loop: printf("请选择,输入1表示进行明文转密文,输入0表示进行密文转明文:\n"); //1表示明文转密文,0表示密文转明文
-
- scanf("%d",&m);
-
- if (m !=0 && m != 1)
- {
- printf("Errer! Input again!"); //如果输入不是1或者0,则报错
- goto loop;
- }
-
- printf("输入要进行转换的字符串并以回车结束:"); //输入要转换的字符串
-
- while (m == 1) //明文转密文
- {
- while ((c=getchar()) != '\n') //从输入获得字符,回车结束
- {
- if ((c >= 'A' && c <= 'Z')||(c >= 'a' && c <= 'z')) //如果输入A到Z或者a到z,则加4
- {
- c=c+4;
- if ((c > 'Z' && c <= 'Z'+4) || (c > 'z')) //w,x,y,z特殊情况处理
- {c=c-26;}
- }
- printf("%c",c); //输出,如果输入不是字母,直接原样输出
- }
- }
-
- while(m == 0) // 密文转明文
- {
- while((c=getchar()) != '\n')
- {
- if ((c >= 'E' && c <= 'Z')||(c >= 'e' && c <= 'z'))
- {
- c=c-4;
- }
- else if ((c >= 'A' && c <= 'D')||(c >= 'a' && c <= 'd')) //w,x,y,z特殊情况处理
- {c=c+22;}
- printf("%c",c); //输出,如果输入不是字母,直接原样输出
- }
- }
- }
复制代码
|