当前位置:   article > 正文

【在线编程-华为机试】简单密码破解_华为手机解锁的程序编程

华为手机解锁的程序编程

题目:

假设渊子原来一个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哦。

  1. #include<iostream>
  2. #include<string>
  3. #include<string.h>
  4. using namespace std;
  5. int main()
  6. {
  7. char str[1000];
  8. char output[1000];
  9. while(cin>>str)
  10. {
  11. int len = strlen(str);
  12. for(int i=0; i<=len; i++) // 为什么有“=”??
  13. {
  14. if(str[i]>='a'&&str[i]<='c')
  15. output[i] = '2';
  16. else if(str[i]>='d'&&str[i]<='f')
  17. output[i] = '3';
  18. else if(str[i]>='g'&&str[i]<='i')
  19. output[i] = '4';
  20. else if(str[i]>='j'&&str[i]<='l')
  21. output[i] = '5';
  22. else if(str[i]>='m'&&str[i]<='o')
  23. output[i] = '6';
  24. else if(str[i]>='p'&&str[i]<='s')
  25. output[i] = '7';
  26. else if(str[i]>='t'&&str[i]<='v')
  27. output[i] = '8';
  28. else if(str[i]>='w'&&str[i]<='z')
  29. output[i] = '9';
  30. else if(str[i]>='A'&&str[i]<='Y')
  31. output[i] = str[i] -('A'-'a')+1;
  32. else if(str[i]=='Z')
  33. output[i] = 'a';
  34. else
  35. output[i] = str[i];
  36. }
  37. printf("%s\n", output);
  38. str[1000] = {'\0'};
  39. output[1000] = {'\0'};
  40. }
  41. return 0;
  42. }

参考:https://www.nowcoder.com/profile/136407689/codeBookDetail?submissionId=92226307

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/759447
推荐阅读
相关标签
  

闽ICP备14008679号