Problem D: 锁屏密码

来源:互联网 发布:国家广电网络组织架构 编辑:程序博客网 时间:2024/06/05 10:51

                                                    锁屏密码

                                                                           Time Limit: 1 Seconds   Memory Limit: 128 Mbyte

题目描述:

在九宫格键盘中,数字和字母在一个按键上面,其中数字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 tmj6jarily0


输出样例:

865527459

代码展示:

#include <stdio.h>#include <string.h>char a[20];int  b[20];int main(){int n;while (scanf("%d",&n)!=EOF&&n){int i;getchar();scanf("%s",&a);//进行逐个判断for (i=0;i<n;i++){if(a[i]>='a'&&a[i]<='c')b[i]=2;else if (a[i]>='d'&&a[i]<='f'){b[i]=3;}else if (a[i]>='g'&&a[i]<='i') {b[i]=4;}else if (a[i]>='j'&&a[i]<='l'){b[i]=5;}else if(a[i]>='m'&&a[i]<='o'){b[i]=6;}else if (a[i]>='p'&&a[i]<='s'){b[i]=7;}else if (a[i]>='t'&&a[i]<='v') {b[i]=8;}else if (a[i]>='w'&&a[i]<='z'){b[i]=9;}}for (i=0;i<n;i++){printf("%d",b[i]);}printf("\n");}return 0;}


原创粉丝点击