已知加密过程为:将每个字母按照字母表的顺序右移k位。加密函数:E(m)=(m+k)%26. (明文 -> 密文)

现给你一串密文,全部由大写字母组成。请破译出明文!(密文 -> 明文)

请设计实现PassWord类:

class PassWord {
private:int k;
public:PassWord(int);char convert(const char); // 解密函数
};

输入描述

第一行包含一个整数k,代表乘法密码的密钥,0 ≤ k < 26。

第二行包含一个整数n,代表接下来输入字符的个数,然后在一个空格后包含n个要解密的字符。

输出描述

输出对应的明文。

示例1:

输入:1 8 JMPWFZPV

输出:ILOVEYOU

提示

字符A对应0, Z对应25;例如如果要获得C对应的整数,可以使用'C' - 'A', 即为2。

答案:

#include <algorithm>
#include <iostream> // 输入输出流类库
#define MAX_LEN 1000
#include <string>using namespace std;char sec[MAX_LEN + 10];class PassWord { // 类
private: // 私有成员int k;
public: // 公有成员PassWord(int i); // 构造函数的声明char convert(const char c); // 解密函数的声明
};PassWord::PassWord(int i) // 构造函数的代码实现
{k = i;
}char PassWord::convert(const char c) // 解密函数的代码实现
{return (c - 'A' - k + 26) % 26 + 'A'; // 具体解密公式
}int main() // 主函数
{int k, n; //k代表移位的密匙,n代表字符数,a代表输入的密文(字符串)cin >> k >> n; // 输入密钥和字符数PassWord password(k); // 构造(PassWord类的)一个对象for(int i = 0; i < n; ++ i) // 循环语句{char a; // a代表输入的密文(字符串)cin >> a; // 输入asec[i] = password.convert(a); // 超纲!!!数组?调用PassWord类中的解密函数}for (int i = 0; i < n; ++i) // 循环语句cout << sec[i]; // 逐个输出明文字符cout<< endl;return 0;
}

C++第4章第2题:移位密码-解密相关推荐

  1. 列移位密码解密(Decryption of the Columnar Transposition Cipher)的Pyhton实现

    结果最近在做一道列移位密码的解密的题目时,想借助在线工具解密,发现解密时,工具对密文中的数字以及符号进行了过滤.造成了:明文的长度 小于 密文的长度的情况,后来,在Python的Cipher库中,也发 ...

  2. 计算机组成原理唐朔飞课后答案第六章,计算机组成原理第六章部分课后题答案(唐朔飞版)...

    计算机组成原理第六章部分课后题答案(唐朔飞版) 6.4 设机器数字‎长为8位(含1位符号‎位在内),写出对应下‎列各真值的‎原码.补码和反码‎. -13/64,29/128,100,-87 解:十进制 ...

  3. 专转本计算机第一章试题,江苏专转本 计算机第一章自测题(含答案).doc

    <江苏专转本 计算机第一章自测题(含答案).doc>由会员分享,提供在线免费全文阅读可下载,此文档格式为doc,更多相关<江苏专转本 计算机第一章自测题(含答案).doc>文档 ...

  4. 计量经济学第六版计算机答案,伍德里奇计量经济学导论计算机习题第六章第13题c_6.13...

    伍德里奇计量经济学导论计算机习题第六章第13题,答案和MATLAB代码 clear,clc; % c6.13 by % 打开文字文件和数据文件 importdata('meap00_01.des'); ...

  5. 计算机应用基础第七章自测题,计算机应用基础 第七章.doc

    计算机应用基础 第七章 第七章自测题 1.HTML是指( ). A.超文本标记语言 B.超文本文件 C.超媒体文件 D.超文本传输协议 2.Internet中URL的含义是( ). A.统一资源定位器 ...

  6. 有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中,谭浩强《c语言程序设计》第六章第四题

    题目 本题是谭浩强<c语言程序设计>第六章第四题 题目:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中. 以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨,共同 ...

  7. 输出所有3位数的水仙花数,例:153=1的3次方+5的3次方+3的3次方 谭浩强《c语言程序设计》第五章第八题

    题目 本题是谭浩强<c语言程序设计>第五章第八题 题目:输出所有3位数的水仙花数,例:153=1的3次方+5的3次方+3的3次方 提示:以下是本篇文章正文内容,欢迎朋友们进行指正,一起探讨 ...

  8. 《软件方法》第二章 自测题

    UMLChina软件方法各章练习题自测(二) 关于UMLChina 前言 <软件方法>第二章自测题 自测题1 自测题2 关于UMLChina 前言 笔者为在校大三生,初次接触UML建模语言 ...

  9. 第四章第四题(几何:六边形面积)(Geometry: area of a hexagon)

    第四章第四题(几何:六边形面积)(Geometry: area of a hexagon) 4.4(几何:六边形面积)六边形面积可以通过下面公式计算(s是边长): 编写程序,提示用户输入六边形的边长, ...

最新文章

  1. Vue 过渡实现轮播图
  2. MAT之NN:实现BP神经网络的回归拟合,基于近红外光谱的汽油辛烷值含量预测结果对比
  3. 这里有一篇简单易懂的webSocket 快到碗里来~
  4. 本周个人总结(软件的初步开发)
  5. 给书配代码-电力经济调度(1):基于拉格朗日及运筹规划方法的经济调度算法
  6. C语言数据类型本质分析
  7. c# streamReader转XmlDocument读取节点
  8. linux杀掉80端口线程命令
  9. go语言练习:条件语句和循环语句
  10. CC2530串口通讯的实现
  11. 开发imageJ插件失败经验
  12. 关于EFS加密原理及破解浅谈
  13. 策略路由(本地策略和接口策略)
  14. python 给文件加密
  15. TPA3255 classD 音频功放快速设计
  16. 机器人操作系统ROS理论与实践
  17. 计算机软件与硬件相互制约吗,计算机软件与硬件介绍
  18. 阅读书源最新2020在线导入_推荐3款无广告、速度快、可换源的小说利器,5星使用阅读体验...
  19. BZOJ 1499 [NOI2005]瑰丽华尔兹 动态规划(+单调队列)
  20. Kettle(14):Linux安装Kettle

热门文章

  1. 计算机组成原理运算器数据,计算机组成原理-运算器实验
  2. proxmox修改容器镜像源
  3. java.lang.NoSuchFieldError: No static field id_sl_hlry of type I in class Lcom/bsoft/mob/common/R$id
  4. 网赚项目,你知道哪些暴力截流的方法?
  5. WEIXIN day_08(8.25) 学子影院项目实践4
  6. littlevGL:字体与汉字
  7. JSONPath 解析 JSON 内容详解(自 github)
  8. Linux lsblk和df命令区别
  9. 《蔡康永的说话之道》--备忘
  10. SIM800c收发短信及AT指令