题解 | #简单密码#

简单密码

http://www.nowcoder.com/practice/7960b5038a2142a18e27e4c733855dac

来个map映射一下ok了,z的ascII码122,后面一个是'{',Z是90。注意string的find找不到返回string::npos而不是0判断条件时要注意

#include <string>
#include <map>
#include <vector>

using namespace std;

int main() {
    map<string,string> m ={
        {"abc","2"},
        {"def","3"},
        {"ghi","4"},
        {"jkl","5"},
        {"mno","6"},
        {"pqrs","7"},
        {"tuv","8"},
        {"wxyz","9"},
};
    string str,temp;
    while(cin>>str){
        for(int i = 0;i<str.size();i++){
            if(islower(str[i])){
                for(auto &it:m){
                    if((it.first.find(str[i]))!=string::npos) temp+=it.second;
                }
            }
            else if (isupper(str[i])){
                str[i] = tolower(str[i]);
                if((str[i]+1)!=123) temp+=(str[i]+1);
                else temp+='a';
            }
            else
                temp+=str[i];
            
        }
        cout<<temp<<endl;
        
    }
    
    
    
    
    
}
全部评论

相关推荐

就在我现在公司的隔壁每天经过都唏嘘不已(就是羡慕)什么时候可以到这里上班啊
柯基在debug:从大学毕业投简历到现在了,应届的时候我都面到终面了,现在工作四年了连简历初筛都过不了了
投递莉莉丝游戏等公司8个岗位
点赞 评论 收藏
分享
Yki_:你要算时间成本呀,研究生两三年,博士三四年,加起来就五六年了,如果你本科去腾讯干五年,多领五年的年薪,加上公司内涨薪,可能到时候十五年总薪资也跟博士差不多
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务