注册 登录
编程论坛 数据结构与算法

函数加密

不落夕阳 发布于 2016-10-27 21:04, 2069 次点击
问题描述:
  一个文本串可用事先给定的字母映射表进行加密。例如,设字母映射表为:
     a b c d e f g h i j k l m n o p q r s t u v w x y z
     n g z q t c o b m u h e l k p d a w x f y i v r s j
则字符串“encrypt”被加密为”tkzwsdf”。试写一个算法将输入的文本串进行加密后输出,并可将输入的已加密的文本串进行解密后输出。
提示:字母映射表可以用两个串A,B来存放(由串常量创建串);
       加密函数;解密函数;显示函数;
2 回复
#2
追寻XT2016-10-27 22:11
用两个数组,一个存输入字符表,一个存映射表,很简单的。
#3
书生牛犊2016-10-28 08:12
或者用一个int数组[26],从字母a-z,分别保存(原文到密文的偏差量)
int a[26]={'n'-'a','g'-'b',....};
char c[100];
gets(c);
for(int i=0;c[i]!='\0';i++){
if(c[i]>='a'&&c[i]<='z')c[i]=c[i]+a[c[i]-'a'];//这是加密,解密的话只要用减法就行了
}
puts(c);



[此贴子已经被作者于2016-10-28 08:14编辑过]

1