【第8周实践项目4-字符串加密】
来源:互联网 发布:mac激活时间查询 编辑:程序博客网 时间:2024/06/09 15:33
/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:xm4.cpp 作 者:隋溢凡 完成日期:2016年10月20日 版 本 号:v1.0 问题描述:一个文本串可用事先编制好的字符映射表进行加密。例如,设字符映射表为: abcdefghijklmnopqrstuvwxyz ngzqtcobmuhelkpdawxfyivrsj 输入描述:串的输入。 程序输出:加密后的输出。 */
顺序串算法库
函数的实现:
SqString EnCrypt(SqString p) { int i=0,j; SqString q; while (i<p.length) { for (j=0; p.data[i]!=A.data[j]; j++); if (j>=p.length) //在A串中未找到p.data[i]字母 q.data[i]=p.data[i]; else //在A串中找到p.data[i]字母 q.data[i]=B.data[j]; i++; } q.length=p.length; return q; } SqString UnEncrypt(SqString q) { int i=0,j; SqString p; while (i<q.length) { for (j=0; q.data[i]!=B.data[j]; j++); if (j>=q.length) //在B串中未找到q.data[i]字母 p.data[i]=q.data[i]; else //在B串中找到q.data[i]字母 p.data[i]=A.data[j]; i++; } p.length=q.length; return p; }
main函数:
#include <stdio.h>
#include "sqString.h"
int main()
{
SqString p,q;
StrAssign(A,"abcdefghijklmnopqrstuvwxyz"); //建立A串
StrAssign(B,"ngzqtcobmuhelkpdawxfyivrsj"); //建立B串
char str[MaxSize];
printf("\n");
printf("输入原文串:");
gets(str); //获取用户输入的原文串
StrAssign(p,str); //建立p串
printf("加密解密如下:\n");
printf(" 原文串:");
DispStr(p);
q=EnCrypt(p); //p串加密产生q串
printf(" 加密串:");
DispStr(q);
p=UnEncrypt(q); //q串解密产生p串
printf(" 解密串:");
DispStr(p);
printf("\n");
return 0;
}
--------------------------------------------------------------------------------
运行结果:
- 第8周实践项目4-字符串加密
- 第8周实践项目4-字符串加密
- 第8周实践项目4-字符串加密
- 第8周实践项目4-字符串加密
- 【第8周实践项目4-字符串加密】
- 第8周项目4-字符串加密
- 第8周 项目4-字符串加密
- 第8周 项目4 - 字符串加密
- 第8周项目4字符串加密
- 第8周项目4 字符串加密
- 第8周项目4-字符串加密
- 第8周项目4 字符串加密
- 【第8周 项目4 - 字符串加密】
- 第8周 项目4-字符串加密
- 第8周项目4 字符串加密
- 第8周项目4 -字符串加密
- 第8周项目4 字符串加密
- 第8周项目4-字符串加密
- 玩具工厂
- (第八周项目2)建立链串的算法库
- 【PAT甲级】1030. Travel Plan (30)
- 在Linux环境下实现一个非常好的bash脚本框架
- IoGetConfigurationInformation 接口使用--增加系统设备数量
- 【第8周实践项目4-字符串加密】
- qemu QOM(qemu object model)和设备模拟
- Linux Thread编程
- NDK开发 从入门到放弃(一:基本流程入门了解)
- 第八周项目5-计数的模式匹配
- 【浅谈递归(二)】常见递归问题的分析与解答
- linux mint下配置jdk,tomcat
- 第8周 项目1-建立顺序串的算法库
- 第八周项目2 建立链串算法库