算法提高 9-2 文本加密
时间限制:1.0s 内存限制:256.0MB
提交此题
问题描述
先编写函数EncryptChar,按照下述规则将给定的字符c转化(加密)为新的字符:“A"转化"B”,“B"转化为"C”,… …“Z"转化为"a”,“a"转化为"b”,… …, “z"转化为"A”,其它字符不加密。编写程序,加密给定字符串。
样例输出
与上面的样例输入对应的输出。
例:
helloWorld!
ifmmpXpsme!
数据规模和约定
输入数据中每一个数的范围。
例:50个字符以内无空格字符串。
分析:根据题中的要求编程即可,代码如下:
#include <iostream>
#include <cstring>
using namespace std;
//字符加密
char EncryptChar(char a)
{
if(a == 'Z') return 'a';
else if(a == 'z') return 'A';
else if(a >= 'A' && a <= 'Z' || a >= 'a' && a <= 'z') return (char)(a+1);
else return a; //其他字符不加密
}
int main()
{
string a;
//输入
cin >> a;
//加密并输出
for(string::iterator it = a.begin(); it != a.end(); it++)
{
*it = EncryptChar(*it);
cout << *it;
}
return 0;
}