3335 - 例题5-11 译密码

为使电文保密,往往按照一定的规律将其转换成密码,收报人再按照约定的规律将其译成原文。例如,某次发报时采用的密码规律为:

将字母A变成字母E,a变成e,即变成其后的第4个字母,W(w)变成A(a),X(x)变成B(b), Y(y)变成C(c),Z(z)变成D(d),其规律如下图所示:

 

字母按照此规律转换,非字母字符保持原状不变,如:

China!按此规律将转换为Glmre!

要求从键盘输入一行字符,输出其相应的密码。

题目输入

可以包含空格等特殊符号的一行字符(以回车结束)。

题目输出

加密后的字符序列,末尾输出换行。

输入/输出样例

题目输入

China!

题目输出

Glmre!

C++解答

#include<iostream>
#include<cstring>
using namespace std;
char s[100000];
int main()
{
	cin.getline(s,100000);
	int lon=strlen(s);
	for (int i=0; i<lon; i++)
	{
		if ((s[i]>='a'&&s[i]<='z') || (s[i]>='A'&&s[i]<='Z'))
		{
			s[i]+=4;
			if (s[i]>'Z' && s[i]<='Z'+4 || s[i]>'z')
				s[i]-=26;
		}
		cout<<s[i];
	}
	cout<<endl;
	return 0;
}
时间限制 1 秒
内存限制 12 MB
讨论 统计
上一题 下一题