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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Harvey_ios 中级黑马   /  2015-5-8 17:53  /  879 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

8、编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。(C语言)#include<stdio.h>
void main()
{
        void jiami(char b[]);//声明加密函数
        char a[30];
        printf("请输入一行字符:\n");
        scanf("%s",a);
        jiami(a);
}
void jiami(char b[])//定义加密函数
{
        int i=0;
//int        t=strlen(b);
        while( i<30)
        {
                if((b[i]>='A'&&b[i]<='Z')||(b[i]>='a'&&b[i]<='z'))//如果是字母就换后三个字母
                {
               
                        b[i+3]=b[i+1];
                        b[i+4]=b[i+2];
                        b[i]=b[i]+1;
                        b[i+1]=b[i]+1;
                        b[i+2]=b[i]+2;
                        printf("%c%c%c",b[i],b[i+1],b[i+2]);//
                        i+=3;//下个字母往后挪三位
               
                }
                else
                {
                printf("%c",b[i]);//如果不是字母,就输出本身
                i+=1;
        }

}
        printf("\n");
}
最后打印结果会出现一串烫烫烫烫
比如输入abc结果是bcdededef烫烫烫烫而且只能实现前三个字母加密,这是怎么回事?


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马