美文网首页编程练习
【华为机试】简单密码

【华为机试】简单密码

作者: soeben | 来源:发表于2018-03-21 22:59 被阅读0次

题目描述:

密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上再加一套密码,虽然简单但也安全。
假设渊子原来一个BBS上的密码为zvbo9441987,为了方便记忆,他通过一种算法把这个密码变换成YUANzhi1987,这个密码是他的名字和出生年份,怎么忘都忘不了,而且可以明目张胆地放在显眼的地方而不被别人知道真正的密码。
他是这么变换的,大家都知道手机上的字母: 1--1, abc--2, def--3, ghi--4, jkl--5, mno--6, pqrs--7, tuv--8 wxyz--9, 0--0,就这么简单,渊子把密码中出现的小写字母都变成对应的数字,数字和其他的符号都不做变换,
声明:密码中没有空格,而密码中出现的大写字母则变成小写之后往后移一位,如:X,先变成小写,再往后移一位,不就是y了嘛,简单吧。记住,z往后移是a哦。


输入描述:

输入包括多个测试数据。输入是一个明文,密码长度不超过100个字符,输入直到文件结尾


输出描述:

输出渊子真正的密文

示例1
输入
YUANzhi1987
输出
zvbo9441987


参考程序:

#include <iostream>
using namespace std;
int main(){
    char c;
    while(cin.get(c) && c!='\n')
        if(c>='A' && c<='Z')
            if(c=='Z') cout<<'a';
            else cout<<(char)(++c+32);
        else if(c>='a' && c<='r') cout<<(c-91)/3;
        else if(c=='s') cout<<7;
        else if(c>='t' && c<='v') cout<<8;
        else if(c>='w' && c<='z') cout<<9;
        else cout<<c;
    return 0;
}

相关文章

  • 【华为机试】简单密码

    题目描述: 密码是我们生活中非常重要的东东,我们的那么一点不能说的秘密就全靠它了。哇哈哈. 接下来渊子要在密码之上...

  • 【华为机试】简单密码

    题目描述题目太长不copy了。字符串转换规则。大写字母转为下一个字母的小写格式。如:'A' -> 'b' 、'B'...

  • 【华为机试】密码验证合格程序

    题目描述: 密码要求:1.长度超过8位2.包括大小写字母.数字.其它符号,以上四种至少三种3.不能有相同长度超2的...

  • 华为机试2017

    简易压缩算法:将全部由小写英文字母组成的字符串,将其中连续超过两个相同字母的部分压缩为整个连续个数加该字母,其他部...

  • 实习机试-华为

    昨晚收到面试邀请后就开始临阵磨枪,加上今天总共在剑指offer上刷了十几道题吧。晚上参加华为的机试,2个小时3个题...

  • 【华为机试】质数因子

    题目描述: 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子 输入描述: 输入一个long型整数 输...

  • 【华为机试】进制转换

    题目描述: 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 ) 输入描述: ...

  • 【华为机试】数字颠倒

    题目描述: 输入一个整数,将这个整数以字符串的形式逆序输出。程序不考虑负数的情况,若数字含有0,则逆序形式也含有0...

  • 【华为机试】句子逆序

    题目描述: 将一个英文语句以单词为单位逆序排放。例如“I am a boy”,逆序排放后为“boy a am I”...

  • 【华为机试】字符逆序

    题目描述: 将一个字符串str的内容颠倒过来,并输出。str的长度不超过100个字符。 如:输入“I am a s...

网友评论

    本文标题:【华为机试】简单密码

    本文链接:https://www.haomeiwen.com/subject/putoqftx.html