zoukankan      html  css  js  c++  java
  • 华为机试 字符串加解密

    #include<iostream>
    #include <vector>
    #include "bits/stdc++.h"
    using namespace std;
    
    char jiami(char s){
        if(s >= 'a'&&s < 'z'){return char(s-31);}
        else if(s == 'z') return 'A';
        else if(s >= 'A'&&s < 'Z') return char(s+33);
        else if(s == 'Z') return 'a';
        else if(s >= '0'&&s < '9'){ return char(s+1);}
        else if(s == '9') return '0';
        return ' ';          //需要加默认返回值,否则编译器会报错
    }
    
    char jiemi(char s){
        if(s > 'A'&&s <= 'Z'){return char(s+31);}
        else if(s == 'A') return 'z';
        else if(s > 'a'&&s <= 'z')return char(s-33);
        else if(s == 'a') return 'Z';
        else if(s > '0'&&s <= '9'){ return char(s-1);}
        else if(s == '0') return '9';
        return ' ';
    }
    
    
    
    int main()
    {
    //    unordered_map<char,char>mpchar;
    //    for(char c='a';c <= 'z';c++){
    //        if(c != 'z'){mpchar[c] = char(c-31);}
    //        else mpchar[c] = 'A';
    //    }
    //    for(char c='0';c <= '9';c++){
    //        if(c!='9'){mpchar[c] = char(c+1);}
    //        else mpchar[c] = '0';
    //    }
    //
    //    for(auto it = mpchar.begin();it != mpchar.end();it++){
    //        cout << it->first << " " << it->second << endl;
    //    }
    
        string s1,s2;
    
        while(cin >> s1 >> s2){
            string res = "";
            for(int i=0;i < s1.size();i++){
                res += jiami(s1[i]);
            }
            cout << res << endl;
            res = "";
            for(int i=0;i < s2.size();i++){
                res += jiemi(s2[i]);
            }
            cout << res << endl;
        }
        return 0;
    }

    题目描述

    1、对输入的字符串进行加解密,并输出。

    2、加密方法为:

    当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;

    当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;

    其他字符不做变化。

    3、解密方法为加密的逆过程。

    本题含有多组样例输入。

    输入描述:

    输入说明
    输入一串要加密的密码
    输入一串加过密的密码

    输出描述:

    输出说明
    输出加密后的字符
    输出解密后的字符

    示例1

    输入

    复制
    abcdefg
    BCDEFGH
    

    输出

    复制
    BCDEFGH
    abcdefg
  • 相关阅读:
    PHP使用数据库永久连接方式操作MySQL的是与非
    php生成xml文件
    Ruby学习之类
    新增题目功能模块总结
    Ruby学习之类2
    smarty section循环成两列的问题
    jQuery validate插件初探
    Zend Framework学习之Zend_Config
    Zend Framework学习之Zend_Loader动态加载文件和类
    JS 删除字符串最后一个字符的方法
  • 原文地址:https://www.cnblogs.com/cunyusup/p/14267070.html
Copyright © 2011-2022 走看看