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