您的位置:首页 > 其它

锁屏密码

2016-06-24 14:24 281 查看
题目描述在九宫格键盘中,数字和字母在一个按键上面,其中数字2对应的字母是”abc”,3对应的是”def”,4对应的是”ghi”,5对应的是”jkl”,6对应的是”mno”,7对应的是”pqrs”,8对应的是”tuv”,9对应的是”wxyz”。首先有一个仅包含小写字母的明文密码,如字母tmj,然后,按照九宫格键盘上字母的标注,将每个字母转化为相应的数字按键。如t出现在按键8上,那么其对应的数字为8,则明文密码”tmj”对应的密码为865。你的任务很简单,就是根据给你的一串明文字母,按照上述规则转化成数字密码。输入每个测试样例第一行为一个正整数n(n<=10)表示密码的长度。当n为0时,测试结束。接下来为一行长度为n的仅由小写字母组成的字符串,代表明文密码。输出每一个样例对应的输出为一行,输出对应的数字密码。样例输入
3
tmj
6
jarily
0
样例输出
865
527459
AC代码如下:
#include"stdio.h"#include "string.h"int main(int argc, char* argv[]){int n,i,b[20],c[20];char a[20];while(scanf("%d",&n)!=EOF&&n){getchar();scanf("%s",a);n=(int)strlen(a);for (i=0;i<n;i++){b[i]=a[i]-'a'+1;if (b[i]<=3){c[i]=2;}else if (b[i]<=6){c[i]=3;}else if (b[i]<=9){c[i]=4;}else if (b[i]<=12){c[i]=5;}else if (b[i]<=15){c[i]=6;}else if (b[i]<=19){c[i]=7;}else if (b[i]<=22){c[i]=8;}else if(b[i]<=26){c[i]=9;}}for (i=0;i<n;i++){printf("%d",c[i]);}printf("\n");}return 0;}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: