文字描述转化为代码/C++
字符串加解密
https://www.nowcoder.com/practice/2aa32b378a024755a3f251e75cbf233a
/*
最简单的写法————把每种case都写出来
*/
#include<iostream>
#include<string>
#include<sstream>
#include<vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
string encoder(string &str){
string ans;
for(char c: str){
if(c == 'z')
ans += 'A';
else if(c == 'Z')
ans += 'a';
else if(c >= 'a' && c <= 'y')
ans += c + 1 - 32;
else if(c >= 'A' && c <= 'Y')
ans += c + 1 + 32;
else if(c == '9')
ans += '0';
else if(c >= '0' && c <= '8')
ans += c+1;
else
ans += c;
}
return ans;
}
string decoder(string &str){
string ans;
for(char c: str){
if(c == 'A')
ans += 'z';
else if(c == 'a')
ans += 'Z';
else if(c >= 'b' && c <= 'z')
ans += c - 1 - 32;
else if(c >= 'B' && c <= 'Z')
ans += c - 1 + 32;
else if(c == '0')
ans += '9';
else if(c >= '1' && c <= '9')
ans += c-1;
else
ans += c;
}
return ans;
}
int main(){
string str1, str2;
while(cin>>str1>>str2){
cout<<encoder(str1)<<endl;
cout<<decoder(str2)<<endl;
}
return 0;
}
查看16道真题和解析