-
题目描述:
-
由于害怕别人偷玩他的新手机,GrassLand总是为其手机加上锁屏密码。但是毫无规律的密码又不方便自己记忆,于是他有了这么一个主意:
首先GrassLand会有一个仅包含小写字母的明文密码,如horse。
然后,他按照九宫格键盘上字母的标注(下图),将字母转化为相应的数字按键。如h出现在按键4上,那么其对应的数字为4。按照这个规则,GrassLand的明文密码被加密为46773。
现在他需要你为他编写一个程序来完成这个加密过程,生成密码。
-
输入:
-
输入包含多组测试数据,每组测试数据一行,包含一个仅包含小写字母的字符串,其长度小于10000。
-
-
-
输出:
-
对于每组测试用例,输出为一个仅包含数字的字符串,代表加密后的密码。
-
样例输入:
-
horse strawberry
-
样例输出:
-
46773 7872923779
水题一道......
#include <stdio.h> #include <string.h> int chartoint(char c) { if(c >= 'a' && c <= 'c') return 2; else if(c >= 'd' && c <= 'f') return 3; else if(c >= 'g' && c <= 'i') return 4; else if(c >= 'j' && c <= 'l') return 5; else if(c >= 'm' && c <= 'o') return 6; else if(c >= 'p' && c <= 's') return 7; else if(c >= 't' && c <= 'v') return 8; else if(c >= 'w' && c <= 'z') return 9; } int main() { char buf[10010]; while(scanf("%s",buf) != EOF) { int len = strlen(buf); for(int i = 0; i < len; i++) { printf("%d",chartoint(buf[i])); } printf("\n"); } return 0; }
-