A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 曼珠沙华 中级黑马   /  2014-12-9 11:31  /  2926 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

5黑马币
编程实现对键盘输入的英文名句子进行加密。用的加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。请帮我解答下,谢谢!

最佳答案

查看完整内容

#include void main() { // 定义一个字符变量,用于存储输入的字符 char c; // 提示输入 printf("请输入英文句子:"); // 用while循环对输入的每一个字符进行逐一判断 while ((c = getchar()) != '\n') { // 用if语句进行判断,条件为:c的值在'A'到'Z'之间 if (c >= 'A' && c = 'a' && c

2 个回复

正序浏览
#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");
}

点评

列出运行结果  发表于 2014-12-9 14:50
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马