黑马程序员技术交流社区

标题: C语言题 [打印本页]

作者: 曼珠沙华    时间: 2014-12-9 11:31
标题: C语言题
编程实现对键盘输入的英文名句子进行加密。用的加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。请帮我解答下,谢谢!
作者: 郑江    时间: 2014-12-9 11:31
#include <stdio.h>

void main()
{        // 定义一个字符变量,用于存储输入的字符
        char c;
        // 提示输入
        printf("请输入英文句子:");
        // 用while循环对输入的每一个字符进行逐一判断
        while ((c = getchar()) != '\n')
        {
                // 用if语句进行判断,条件为:c的值在'A'到'Z'之间
                if (c >= 'A' && c <= 'Z')
                {
                        // 用for循环进行加密输出
                        for (int i = 1; i <= 3; i++)
                        {
                                // 用if语句判断,当要输出的值大于'Z'时,从'A'重新进行输出
                                if (c + i > 'Z')
                                        c = c - 26;
                                printf ("%c", c + i);
                        }
                }
                // 对于不满足上面条件的,继续进行判断,条件为:c的值在'a'到'z'之间
                else if (c >= 'a' && c <= 'z')
                {
                        // 用for循环进行加密输出
                        for(int i = 1; i <= 3, i++)
                        {
                                // 用if语句判断,当要输出的值大于'z'时,从'a'重新进行输出
                                if(c + i > 'z')
                                        c = c - 26;
                                printf("%c", c + i);
                        }
                }
                // 上面条件都不满足的,运行else下面的语句
                else
                        printf("%c",c);
        }
        printf("\n");
}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2