一个文本串可用给定的字母映射表加密,怎么编程

例如,设字母映射表是abcdefghijklmnopqrstuvwxyzngzqtcobmuhelkpdawxfyivksj测试的字符串是encrypttkzwsdf... 例如,设字母映射表是
abcdefghijklmnopqrstuvwxyz
ngzqtcobmuhelkpdawxfyivksj
测试的字符串是encrypt
tkzwsdf
展开
 我来答
冷血的七夜圣君
2013-11-05
知道答主
回答量:1
采纳率:0%
帮助的人:1442
展开全部
#include <stdio.h>
#include <stdlib.h>

static char en[27] = "ngzqtcobmuhelkpdawxfyivrsj";//加密表,产生解密表时根据最后的0来判断,所以为27,下面为26
static char de[26];//解密表

// 根据已有加密映射表,产生解密映射表
void get_des() {
char *p = en;
do {
de[*p - 'a'] = 'a' + p - en;
} while (*++p != 0);
}
// 打印原字符串和加密后的字符串
void display_en_by_str(char *ptr) {
printf("%32s -> ", ptr);
while (*ptr != 0) {
putchar(en[*ptr++-'a']);
}
printf("\n");
}

int main()
{
char str[256];

get_des();
printf("en: %s\nde: %s\n", en, de);

printf("Input a string(exit to quit): " );
scanf("%s", str);
while (strcmp(str, "exit") != 0) {
display_en_by_str(str);
printf("Input a string(exit to quit): " );
scanf("%s", str);
}
}
允淳静jA
推荐于2018-03-26 · 超过44用户采纳过TA的回答
知道答主
回答量:208
采纳率:100%
帮助的人:0
展开全部
char encry(char c)
{
const char dest[]="ngzqtcobmuhelkpdawxfyivksj";
assert(c>='a' && c<='z');
return dest[c-'a'];
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式