题解 | 字符串加解密
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
#include <iostream>
#include <string>
using namespace std;
string encrypt(string s)
{
string ret = s;
for(size_t i = 0; i < s.size(); i++){
if(s[i] >= 'a' && s[i] <= 'z'){
if(s[i] == 'z'){
ret[i] = 'a' - 'a' + 'A';
}else{
ret[i] = s[i] - 'a' + 1 + 'A';
}
}
if(s[i] >= 'A' && s[i] <= 'Z'){
if(s[i] == 'Z'){
ret[i] = 'A' - 'A' + 'a';
}else{
ret[i] = s[i] - 'A' + 1 + 'a';
}
}
if(s[i] >= '0' && s[i] <= '9'){
if(s[i] == '9'){
ret[i] = '0';
}else{
ret[i] = s[i] + 1;
}
}
}
return ret;
}
string decrypt(string s)
{
string ret = s;
for(size_t i = 0; i < s.size(); i++){
if(s[i] <= 'z' && s[i] >= 'a'){
if(s[i] == 'a'){
ret[i] = 'Z';
}else{
ret[i] = s[i] - 1 - 'a' + 'A';
}
}
if(s[i] <= 'Z' && s[i] >= 'A'){
if(s[i] == 'A'){
ret[i] = 'z';
}else{
ret[i] = s[i] - 1 - 'A' + 'a';
}
}
if(s[i] <= '9' && s[i] >= '0'){
if(s[i] == '0'){
ret[i] = '9';
}else{
ret[i] = s[i] - 1;
}
}
}
return ret;
}
int main()
{
string s;
string t;
cin >> s >> t;
cout << encrypt(s) << endl;
cout << decrypt(t) << endl;
}
// 64 位输出请用 printf("%lld")

