文章
10
粉丝
143
获赞
43
访问
57.8k
decode规则:将键盘上的字符均向左平移一个,想到可以使用map来存储char-char键值对。` Q A Z 这四个键盘最左侧字符不会出现在输入中。
处理:用字符串result按顺序存储键盘上所有字符,遍历result并为map赋值
mymap[result[i]]=result[i-1];
细节1:因为`QAZ不会出现在输入中,所以这里map的赋值不用考虑边界情况。
细节2:空格的映射仍为空格。
- #include <iostream>
- #include <string>
- #include <map>
-
- using namespace std;
- string str,temp;
- string result="`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./";
- map<char,char> mymap;
-
- int main()
- {
- for(int i=1;i<result.size();i++)
- mymap[result[i]]=result[i-1];
-
- char ch=' ';
- mymap[ch]=ch;//空格的映射仍为空格
- while(getline(cin,str))
- {
- temp=str;
- for(int i=0;i<str.size();i++)
- {
- temp[i]=mymap[str[i]];
- }
- cout<<temp<<endl;
- }
- return 0;
- }
-
map库函数的学习使用:https://blog.csdn.net/shuzfan/article/details/53115922
登录后发布评论
暂无评论,来抢沙发