A - 简单密码(C语言)
一、题目
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语言)相关推荐
- Bailian2767 简单密码(POJ NOI0107-10)【密码】
问题链接:POJ NOI0107-10 简单密码. 简单密码 总时间限制: 1000ms 内存限制: 65536kB 描述 Julius Caesar曾经使用过一种很简单的密码.对于明文中的每个字符, ...
- Linux-C 简单的C语言日志库
Linux-C 简单的C语言日志库 一.简述 记--C语言实现的简单的日志库,可循环覆盖滚动记录日志文件,达到限制就另记一个日志文件,可控制日志文件个数,可控制日志文件大小. 打包下载 ...
- 凯撒密码C语言去掉空格字符,凯撒密码C语言实现
<凯撒密码C语言实现>由会员分享,可在线阅读,更多相关<凯撒密码C语言实现(8页珍藏版)>请在人人文库网上搜索. 1.凯撒密码是一种非常古老的加密方法, 相传当年凯撒大地行军打 ...
- PTA 基础编程题目集 7-12 两个数的简单计算器 C语言
PTA 基础编程题目集 7-12 两个数的简单计算器 C语言 本题要求编写一个简单计算器程序,可根据输入的运算符,对2个整数进行加.减.乘.除或求余运算.题目保证输入和输出均不超过整型范围. 输入格式 ...
- php实现 简单密码(代码颜色变化)
php实现 简单密码(代码颜色变化) 一.总结 一句话总结:写代码的时候一定要关注代码的颜色变化,不然低级错误害死人.常量变量会有不同颜色,所以$str少$符号变成常量的时候很容易发现. 1.变量$ ...
- 最简单的c语言的编程题目,编程列入考题
① 简单的C语言考试题目!(不需要编程) 写入数据的时候,写入的是123,作为一个数处理的. 将printf("%d%d\n",k,n); 改成printf("%d %d ...
- CentOS7.6 MySQL8环境搭建 配置远程登录 字符集UTF8 简单密码
一.环境准备 1.清理环境中系统自带的MySQL (1)删除系统自带的MySQL或Mariadb yum remove mysql-libs (2)查询系统中是否还有残余的依赖包 rpm -qa | ...
- html语言简单,简单的html语言计算器
<简单的html语言计算器>由会员分享,可在线阅读,更多相关<简单的html语言计算器(3页珍藏版)>请在人人文库网上搜索. 1.简单的计算器源码如图:代码input.MyBu ...
- antlr idea 入门_ANTLR入门:构建简单的表达语言
antlr idea 入门 这是该系列的第一篇文章. 本系列的目的是描述如何创建有用的语言和所有支持工具. 在本文中,我们将开始研究一种非常简单的表达语言. 我们将在语言沙箱中构建它,因此我们将其称为 ...
- ANTLR入门:构建一种简单的表达语言
这是该系列的第一篇文章. 本系列的目的是描述如何创建有用的语言和所有支持工具. 在本文中,我们将开始研究一种非常简单的表达语言. 我们将在语言沙箱中构建它,因此我们将其称为语言Sandy . 我认为工 ...
最新文章
- springboot使用logback日志,部署到tomcat不生效问题解决
- PE文件数字签名信息读取存储及格式具体解释图之上(历史代码,贴出学习)
- 伍哥原创之安装nginx,mysql,php-fpm,redis
- 服务发现框架选型,Consul还是Zookeeper还是etcd
- UVA10305 Ordering Tasks
- Tarjan算法_LCA
- 「干货总结」程序员必知必会的十大排序算法
- 最小生成树(Prim、Kruskal)算法,秒懂!
- r语言平均值显著性检验_8小时整理!t检验原理!R语言实现!一文彻底搞定t检验(上)...
- APICloud开发者进阶之路 | 超级实用技巧
- jdbc连接oracle数据库
- webpack4.0各个击破(4)—— Javascript splitChunk
- python 单向链表
- python学习笔记之函数(方法)(四)
- Java(31)_JDBC连接mysql数据库(一)
- 微信访问时,提示:该地址为ip地址,请使用域名访问网站
- mysql 查询dual报错_MYSQL基础02(查询)
- 多设备制造工厂的IIOT解决方案--基于虹科IO-Link Wireless
- 【天眼数聚】微信小程序 活体识别提示“照片质量低”
- 【2022秋招】IC设计/FPGA开发秋招经历总结