题解 | #简单密码#
简单密码
https://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac
#include <iostream> #include <vector> #include <unordered_map> using namespace std; int main() { unordered_map<char,int>ans; ans['a']=2;ans['b']=2;ans['c']=2; ans['d']=3;ans['e']=3;ans['f']=3; ans['g']=4;ans['h']=4;ans['i']=4; ans['j']=5;ans['k']=5;ans['l']=5; ans['m']=6;ans['n']=6;ans['o']=6; ans['p']=7;ans['q']=7;ans['r']=7;ans['s']=7; ans['t']=8;ans['u']=8;ans['v']=8; ans['w']=9;ans['x']=9;ans['y']=9;ans['z']=9; string s; getline(cin,s); for(int i=0;i<s.size();i++){ if(ans.find(s[i])!=ans.end()){ cout<<ans[s[i]]; } else if(ans.find(s[i])==ans.end()){ if(isdigit(s[i])){ cout<<s[i]; } else if(isupper(s[i])){ char a=tolower(s[i]); a=a+1; if(a>'z'){ a-=26; } cout<<a; } } } }