信息学奥赛一本通_1136_密码翻译

题目相关

【题目描述】

在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍然能防止情报被轻易的识别。我们给出一种最简的的加密方法,对给定的一个字符串,把其中从a-y,A-Y的字母用其后继字母替代,把z和Z用a和A替代,其他非字母字符不变,则可得到一个简单的加密字符串。

【输入】

输入一行,包含一个字符串,长度小于80个字符。

【输出】

输出每行字符串的加密字符串。

【输入样例】

Hello! How are you!

【输出样例】

Ifmmp! Ipx bsf zpv!

【来源】

1136_密码翻译

分析

简单理解下就是大小写字母向后移动一位。稍复杂的地方就是字母是循环状的。可以理解成是首尾相连的。‘z’、‘Z’的后一位是‘a’、‘A’。可以经过if判断进行首尾连接,也可以通过%符号进行循环滚动处理。

代码实现

#include 
#include 
#include 

using namespace std;
/*
1.大小写反转
2.逆序处理(倒着输出)
3.右移三个位置 
*/
int main()
{
	char s[55]={0},s2[55]={0};
	cin>>s;
	int len=strlen(s);
	for(int i=0;i

你可能感兴趣的:(#,信息学奥赛一本通)