凯瑟移位密码(C语言).doc_第1页
凯瑟移位密码(C语言).doc_第2页
凯瑟移位密码(C语言).doc_第3页
凯瑟移位密码(C语言).doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1. 恺撒移位密码问题描述:“恺撒密码”据传是古罗马恺撒大帝用来保护重要军情的加密系统。它是一种替代密码,通过将字母按顺序推后起3位起到加密作用,如将字母A换作字母D,将字母B换作字母E。恺撒移位,将字母按顺序推后起3位起也可以换成19位,就产生这样一个明密对照表, 因此,这里我们设移位为n,可以根据用户自定义移位数。 如: 明: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 密:T U V W X Y Z A B C D E F G H I J K L M N O P Q R S 明文 F O R E S T 密文 Y H K X L M1. 请根据恺撒密码的思路设计一个恺撒加解密码软件,其中移位数可以根据用户需要在每一次的加密与解密中进行修改。2. 由于移位加密对于单个重复的字符很容易被破译,如下对照表所示: 明文 F R E E T O O密文 Y K X X M H H由于重复的字符很容易被破译出所加密的内容,请为恺撒加解密码软件解决单个重复的字符问题。(要求利用单向循环链表存储结构开发加解密软件。)答案:C语言实现#include main() char M100; char C100; int K=3,i; printf(请输入明文M(不可输入空白串)n); gets(M); for(i=0;Mi!=0;i+) Ci=(Mi-a+K)%26+a; Ci=0; printf(加密密码是:n%sn,C);验证如下:输入:a; 输出:d下面两图同样验证上述算法2. 约瑟夫问题描述:编号为1,2,n的n个人按顺时针方向围坐一圈,每人持有一个密码(正整数)。一开始任选一个正整数作为报数的上限值m,从第一个人开始按顺时针方向自1开始顺序报数。方法1报m的人出列(将其删除),从他在顺时针方向上的下一个人开始重新从一报数,如此下去,直到所有人全部出列为止。试设计一个程序求出出列顺序。要求利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出各人的编号和此人密码。方法2. 报m的人出列(将其删除),将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从一报数,如此下去,直到所有人全部出列为止。试设计一个程序求出出列顺序。要求利用单向循环链表存储结构模拟此过程,按照出列的顺序打印出各人的编号和此人密码。#include #include stdlib.h struct ele int no; struct ele *link; main() struct ele *h,*u,*p; int n,m,i; printf( Please input n&m:n ); scanf( %d%d ,&n,&m);/*输入n和m*/ h=u=(struct ele *)malloc(sizeof(struct ele);/*形成首表元*/ h- no=1; for(i=2;i link=(struct ele *)malloc(sizeof(struct ele); u=u- link; u- no=i;/*第i个表元置编号i*/ u- link=h;/*末表元后继首表元,形成环*/ puts( nThe numbers of who will quit the cycle in turn are: ); while(n) for(i=1;i link; p=u- link;/*p指向第m个表元*/ u- link=p- link;/*第m个表元从环中脱钩*/ printf( %4d ,p- no);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论