想完成这个:编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变,为什么第一个只能输出字母部分
- #include <stdio.h>
- int main()
- {
- char c;
- printf("please input a string:");
- while((c=getchar())!='\n')
- {
- if(c>='A'&&c<='W'||c>='a'&&c<='w')
- { char a[3] = {c+1,c+2,c+3};
- for(int i = 0;i<3;i++)
- printf("%c",a[i]);
- }
- else
- {
- if(c>='X'&&c<='Z'||c>='x'&&c<='z')
- // c=(c+3)-26;
- {
- char b[3] = {c-25,c-24,c-23};
- for(int i = 0;i < 3; i++)
- printf("%c",b[i]);
- }
- }
- }
- printf("\n");
- return 0;
- }
复制代码
这是第二个,能输出全部,但只有一个字母,他是怎么输出全部的,求详解
- #include <stdio.h>
- main()
- {
- char c;
- printf("please input a string:");
- while((c=getchar())!='\n')
- {
- if(c>='A'&&c<='W'||c>='a'&&c<='w')
- { c=c+3; }
- else
- if(c>='X'&&c<='Z'||c>='x'&&c<='z')
- { c=(c+3)-26;}
- printf("%c",c);
- }
- printf("\n");
- return 0;
- }
复制代码 |