黑马程序员技术交流社区
标题:
关于c语言里面的加密问题!
[打印本页]
作者:
墓笙
时间:
2014-12-5 23:30
标题:
关于c语言里面的加密问题!
编程实现对键盘输入的英文名句子进行加密。用加密方法为:当内容为英文字母时,用26字母中的其后三个字母代替该字母,若为其它字符时不变。比如245a95n加密后是245bcd95opq。
这一道题在百度里可以搜索出来,我不明白的地方
QQ截图20141205232804.png
(4.26 KB, 下载次数: 5)
下载附件
2014-12-5 23:29 上传
作者:
墓笙
时间:
2014-12-5 23:31
不明白的地方就是,替换的过程, c=c+3 这样就可以让a变成bcd了????我不明白这一点 求大神解读!
作者:
墓笙
时间:
2014-12-5 23:37
没人吗。。。。
作者:
Mike_zh
时间:
2014-12-6 00:27
本帖最后由 Mike_zh 于 2014-12-6 00:29 编辑
这道题我是这样做的
#include<stdio.h>
#include<stdlib.h>
#define MAXLEN 100
char *encode(char *s)
{
char *p =(char *)calloc(MAXLEN,sizeof(char));
char *q = p;
while(*s)
{
if(*s>=65&&*s<=90)
{
char val = *s;
*q++ = (val-65+1)%26+65;
*q++ = (val-65+2)%26+65;
*q++ = (val-65+3)%26+65;
}
if(*s>=97&&*s<=122)
{
char val = *s;
*q++ = (val-97+1)%26+97;
*q++ = (val-97+2)%26+97;
*q++ = (val-97+3)%26+97;
}
else
{
*q++ = *s;
}
s++;
}
*q='\0';
return p;
}
int main()
{
printf("hello234World加密后:%s\n",encode("hello234World"));
return 0;
}
复制代码
希望对你有帮助
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2