0
点赞
收藏
分享

微信扫一扫

C++——字符解密

Fifi的天马行空 2022-02-21 阅读 47

        

【问题描述】字符解密。设字符加密规则是:将字母和数字字符在各自范围内用其后面的第n个字符替换,n由用户输入。如果n=4,这样字母A就用E替换、B用F……,当然最后四个字符,W需用A、X需用B替换……,以此类推。现编程让用户输入一加密后的字符和及其加密替换值n,请对它进行解密,求出加密前的字符。

【输入形式】用户输入加密后的字符和加密替换值。两个数据间空白字符隔开。

【输出形式】输出加密前的字符。单独占一行。

【样例输入】F 4

【样例输出】B

【样例输入】8  3

【样例输出】5

#include<iostream>
using namespace std;
int main()
{
	char ch = 0; int a = 0;
	cin >> ch >> a;
	if (ch >= 48 && ch <= 57)//48,57对应ASCII码中的0,9
	{
		if (ch >= (48 + a))
		{
			cout << (char)(ch - a) << endl;
		}
		else
		{
			cout << (char)(ch + 10 - a) << endl;//10=57-48+1
		}
	}
	else if (ch >= 65 && ch <= 90)//65,90对应ASCII码中的A,Z
	{
		if (ch >= (65 + a))
		{
			cout << (char)(ch - a) << endl;
		}
		else
		{
			cout << (char)(ch + 26 - a) << endl;//26=90-65+1
		}
	}
	else if (ch >= 97 && ch <= 122)//97,122对应ASCII码中的a,z
	{
		if (ch >= (97 + a))
		{
			cout << (char)(ch - a) << endl;
		}
		else
		{
			cout << (char)(ch + 26 - a) << endl;//26=122-97+1
		}
	}
	return 0;
}

举报

相关推荐

0 条评论