一、题目

Julius Caesar 曾经使用过一种很简单的密码。对于明文中的每个字符,将它用它字母表中后 555 位对应的字符来代替,这样就得到了密文。比如字符’A’用’F’来代替。如下是密文和明文中字符的对应关系。

密文
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\text{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}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

明文
V W X Y Z A B C D E F G H I J K L M N O P Q R S T U\text{V W X Y Z 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 A B C D E F G H I JK L M N O P Q R S T U

你的任务是对给定的密文进行解密得到明文。

你需要注意的是,密文中出现的字母都是大写字母。密文中也包括非字母的字符,对这些字符不用进行解码。

输入格式:

一行,给出密文,密文不为空,而且其中的字符数不超过 200200200。

输出格式:

输出一行,即密文对应的明文。

输入样例1:
NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX
输出样例1:

IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES

二、解决方案

1.思路

①这道题我们先把读入的所有数据储存在一个字符数组里
②然后题目要求我们进行变换,我们根据每个字符的ASCII码值来判断需不要变化即可。
③注意大写字母A->Z,ASCII值为65->90
小写字母a->z,ASCII值为97->122

——————————————

2.代码

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <string.h>
int main()
{char arr[205] = { 0 };gets_s(arr);for (int i = 0; i < strlen(arr); i++){if ((arr[i] - 0) >= 70 && (arr[i] - 0) <= 90){arr[i] = arr[i] - 5;}else if ((arr[i] - 0) >= 65 && (arr[i] - 0) <= 69){arr[i] = arr[i] + 21;}printf("%c", arr[i]);}return 0;
}

A - 简单密码(C语言)相关推荐

  1. Bailian2767 简单密码(POJ NOI0107-10)【密码】

    问题链接:POJ NOI0107-10 简单密码. 简单密码 总时间限制: 1000ms 内存限制: 65536kB 描述 Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符, ...

  2. Linux-C 简单的C语言日志库

    Linux-C 简单的C语言日志库 一.简述         记--C语言实现的简单的日志库,可循环覆盖滚动记录日志文件,达到限制就另记一个日志文件,可控制日志文件个数,可控制日志文件大小. 打包下载 ...

  3. 凯撒密码C语言去掉空格字符,凯撒密码C语言实现

    <凯撒密码C语言实现>由会员分享,可在线阅读,更多相关<凯撒密码C语言实现(8页珍藏版)>请在人人文库网上搜索. 1.凯撒密码是一种非常古老的加密方法, 相传当年凯撒大地行军打 ...

  4. PTA 基础编程题目集 7-12 两个数的简单计算器 C语言

    PTA 基础编程题目集 7-12 两个数的简单计算器 C语言 本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加.减.乘.除或求余运算.题目保证输入和输出均不超过整型范围. 输入格式 ...

  5. php实现 简单密码(代码颜色变化)

    php实现  简单密码(代码颜色变化) 一.总结 一句话总结:写代码的时候一定要关注代码的颜色变化,不然低级错误害死人.常量变量会有不同颜色,所以$str少$符号变成常量的时候很容易发现. 1.变量$ ...

  6. 最简单的c语言的编程题目,编程列入考题

    ① 简单的C语言考试题目!(不需要编程) 写入数据的时候,写入的是123,作为一个数处理的. 将printf("%d%d\n",k,n); 改成printf("%d %d ...

  7. CentOS7.6 MySQL8环境搭建 配置远程登录 字符集UTF8 简单密码

    一.环境准备 1.清理环境中系统自带的MySQL (1)删除系统自带的MySQL或Mariadb yum remove mysql-libs (2)查询系统中是否还有残余的依赖包 rpm -qa | ...

  8. html语言简单,简单的html语言计算器

    <简单的html语言计算器>由会员分享,可在线阅读,更多相关<简单的html语言计算器(3页珍藏版)>请在人人文库网上搜索. 1.简单的计算器源码如图:代码input.MyBu ...

  9. antlr idea 入门_ANTLR入门:构建简单的表达语言

    antlr idea 入门 这是该系列的第一篇文章. 本系列的目的是描述如何创建有用的语言和所有支持工具. 在本文中,我们将开始研究一种非常简单的表达语言. 我们将在语言沙箱中构建它,因此我们将其称为 ...

  10. ANTLR入门:构建一种简单的表达语言

    这是该系列的第一篇文章. 本系列的目的是描述如何创建有用的语言和所有支持工具. 在本文中,我们将开始研究一种非常简单的表达语言. 我们将在语言沙箱中构建它,因此我们将其称为语言Sandy . 我认为工 ...

最新文章

  1. springboot使用logback日志,部署到tomcat不生效问题解决
  2. PE文件数字签名信息读取存储及格式具体解释图之上(历史代码,贴出学习)
  3. 伍哥原创之安装nginx,mysql,php-fpm,redis
  4. 服务发现框架选型,Consul还是Zookeeper还是etcd
  5. UVA10305 Ordering Tasks
  6. Tarjan算法_LCA
  7. 「干货总结」程序员必知必会的十大排序算法
  8. 最小生成树(Prim、Kruskal)算法,秒懂!
  9. r语言平均值显著性检验_8小时整理!t检验原理!R语言实现!一文彻底搞定t检验(上)...
  10. APICloud开发者进阶之路 | 超级实用技巧
  11. jdbc连接oracle数据库
  12. webpack4.0各个击破(4)—— Javascript splitChunk
  13. python 单向链表
  14. python学习笔记之函数(方法)(四)
  15. Java(31)_JDBC连接mysql数据库(一)
  16. 微信访问时,提示:该地址为ip地址,请使用域名访问网站
  17. mysql 查询dual报错_MYSQL基础02(查询)
  18. 多设备制造工厂的IIOT解决方案--基于虹科IO-Link Wireless
  19. 【天眼数聚】微信小程序 活体识别提示“照片质量低”
  20. 【2022秋招】IC设计/FPGA开发秋招经历总结

热门文章

  1. Unity 2D手游——坦克大战 C#
  2. python获取交换机信息
  3. unity urp 实现雨水在物体上流动的效果
  4. 【无人机三维路径规划】基于A算法解决三维路径规划问题含危险障碍地形含Matlab源码
  5. ArcGIS Pro(ArcMap)中利用自带地理处理工具实现线图层批量裁剪面图层
  6. 【C++】宏定义函数指针类型
  7. [实用教程] 科普贴:SGLTE、SVLTE、CSFB、SRLTE
  8. amazing,盗走女友微信后,竟在微信号里看见了……
  9. Java单链表递归逆置
  10. Maven依赖冲突问题解决方案