数据结构上机实践第八周项目4-字符串加密
//*Copyright (c)2017,烟台大学计算机与控制工程学院*
//*All rights reservrd.*
//*文件名称 :main.cpp*
//*作者:田长航*
//*完成时间:2017年10月23日*
//*版本号:v1.0*
//*问题描述:算法库测试函数*
//*输入描述:无*
//*程序输出:测试结果*
#include <stdio.h>
#include "sqString.h"SqString A,B; //用于存储字符映射表SqString EnCrypt(SqString p)
{int i=0,j;SqString q;while (i<p.length){for (j=0; p.data[i]!=A.data[j]&&j<A.length; j++);if (j>=A.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<B.length; j++);if (j>=B.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;
}int main()
{SqString p,q;StrAssign(A,"abcdefghijklmnopqrstuvwxyz"); //建立A串StrAssign(B,"ngzqtcobmuhelkpdawxfyivrsj"); //建立B串char str[MaxSize];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;
}
//*Copyright (c)2017,烟台大学计算机与控制工程学院*
//*All rights reservrd.*
//*文件名称 :main.cpp*
//*作者:田长航*
//*完成时间:2017年10月23日*
//*版本号:v1.0*
//*问题描述:算法库测试函数*
//*输入描述:无*
//*程序输出:测试结果*
#include <stdio.h>
#include "sqString.h"SqString A,B; //用于存储字符映射表SqString EnCrypt(SqString p)
{int i=0,j;SqString q;while (i<p.length){for (j=0; p.data[i]!=A.data[j] && j<A.length; j++); //循环条件少加了&&j<A.lengthif (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<B.length; j++);//循环条件少加了&&j<B.lengthif (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;
}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;
}
数据结构上机实践第八周项目4-字符串加密相关推荐
- 数据结构上机实践第八周项目9-广义表算法库及应用
广义表算法库及应用 为了丰富算法库,以应对各类工程的需要,本次实践将进行广义表算法库的建立以及应用. 项目要求一: 建立广义表算法库,包括: ① 头文glist.h,定义数据类型,声明函数: ② ...
- 数据结构上机实践第八周项目2- 建立链串的算法库
建立链串的算法库 一般每一种数据结构都不会局限于在连续空间内的存取,那我们的串自然也不反常,本次实践将建立链串的算法库,应用于有需求的工程当中,提高程序的容错性. 本次实践依然会用到多文件组织工程的建 ...
- 数据结构上机实践第八周项目8-稀疏矩阵的三元组表示的实现及应用
稀疏矩阵的三元组表示的实现及应用 在现代社会中,在一个大量的人群集体中,总会有和某个人有相互之间的关系或者单向关系的,那我们的矩阵也是如此,稀疏矩阵压缩存储的方式,便可以让这种关系一目了然,巧妙应用. ...
- 数据结构上机实践第八周项目7—对称矩阵的压缩存储及基本运算
对称矩阵的压缩存储及基本运算 贺老师的慕课当中,给我们拓展了这样的知识. 所以,本次的项目实践要求如下: 用压缩形式存储对称矩阵,实现下面的操作并测试 void Init(int *&b);/ ...
- 数据结构上机实践第八周项目6- 猴子选大王(数组版)
猴子选大王(数组版) 在之前的项目中,实现了猴子选大王的项目要求,本次实践,将再次实现这个项目,但是运用数组的方法,做到一题多解,集思广益. 项目要求如下:一群猴子,编号是1,2,3 -m,这群猴子( ...
- 数据结构上机实践第八周项目5 - 计数的模式匹配
计数的模式匹配 模式匹配在生活中运用广泛,日常所见的指纹识别,人脸识别......无一不用到模式匹配,为了体现模式匹配的基本思想,本次实践将实现简单的字符串的计数模式匹配. 项目要求如下:采用顺序结构 ...
- 数据结构上机实践第八周项目3-顺序串算法
顺序串算法 本次实践项目要求如下: 采用顺序存储方式存储串,实现下列算法并测试: (1)试编写算法实现将字符串S中所有值为c1的字符换成值为c2的字符: void Trans(SqString * ...
- 数据结构上机实践第八周项目1- 建立顺序串的算法库
建立顺序串的算法库 本次实践将建立顺序串的算法库,这样可以方便的将此算法运用于我们的所需的工程中,简化操作. 本次实践将用到多文件组织工程的建立,建立方法可以点击此处参照.(工程环境:Visual C ...
- 数据结构上机实践第三周项目2 - 建设“顺序表”算法库
[项目2 - 建设"顺序表"算法库] 领会"0207将算法变程序"部分建议的方法,建设自己的专业基础设施算法库.这一周,建的是顺序表的算法库. 算法库包括两 ...
最新文章
- Python基础学习之 函数
- 上海中学生的科技活动小论文集锦
- vue框架实现pdf在线预览
- 大剑无锋之delete、drop、truncate【面试推荐】
- Linux搭建深度学习环境使用指南
- Linux Deepin 版本大全,Deepin下载-Deepin linuxv20.0 官方版下载-6188手游网
- angular封装富文本编辑器指令
- G1垃圾收集器之SATB
- Java 使用SAX解析XML文档
- 解密初、中、高级程序员的进化之路(前端)
- 双11尾款人的续命丸哪里找?送3本精神食粮助你快速回血
- 趣谈网络协议(二)传输层
- 【华为机试真题详解】机试题按知识点整理(入门指引)
- python 气泡图 聚类_R可视化 | 气泡图
- 浙大 计算机 设计学 考研科目,2020浙江大学软件工程考研参考书目
- [Python从零到壹] 十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解
- docker gpu 创建 训练环境_通过Dockerfile创建caffe-gpu环境
- 计算机水平每分钟多少字,电脑打字每分钟打多少在一才算快啊? 一般拼音打字一分钟多少才算可以?...
- MySQL事务原理总结
- Java中高级面试题部分答案解析
热门文章
- bzoj 3357: [Usaco2004]等差数列(DP+map)
- 吴恩达神经网络和深度学习-学习笔记-42-目标检测
- 吴恩达神经网络和深度学习-学习笔记-8-梯度消失与爆炸 + 梯度检测
- [Python] 更改矩阵形状:reshape(m,n)、view(m,n)和view_as(tensor)
- [Python] numpy库的简介和常用函数
- python机器学习库sklearn——决策树
- vivado2018.3和modelsim10.6d进行联合仿真
- Ubuntu图形界面更改软件下载源为清华镜像站以及解决等待apt退出的问题
- 快速写出matlab的GUI程序
- fpga与三八译码器(BASYS3 VIVADO18)