锁屏密码
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
tmj
6
jarily
0
输出样例:
865
527459
代码展示:
#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;
}