描述
小明最近接到了一个棘手的任务,他们公司有一个电话簿.但是这是一个奇怪的电话簿,因为它不是用数字记录电话号码,而是用数字键上所对应的字母来记录电话号码(2-abc,3-def,4-ghi,5-jkl,6-mno,7-pqrs,8-tuv,9-wxyz),电话号码只有11位。现在你的任务就是帮小明写一个程序来把这些字母的电话号码转化成数字的电话号码。
输入
第一行输入一个正整数T(0<T<=100),表示测试数据的组数
每组测试数据只有一行,输入一串字符(字符长度为11);
输出
每组输出占一行,输出数字的电话号码
样例输入
3
phqghumeayl
nlfdxfircvs
cxggbwkfnqd
样例输出
74744863295
65339347287
29442953673
#include <stdio.h>
#include <string.h>
void func(int );
int main(void)
{
int n,i;
char buf[13]={0};
scanf("%d", &n);
fgetc(stdin);
while(n){
fgets(buf, 12, stdin);
fgetc(stdin);
for(i=0; i<11; i++){
//printf("%c ", buf[i]);
func(buf[i]);
}
printf("\n");
n--;
}
return 0;
}
/*字母转化成数字*/
void func(int n)
{
switch(n){
case 'a':
case 'b':
case 'c':
printf("2");
break;
case 'd':
case 'e':
case 'f':
printf("3");
break;
case 'g':
case 'h':
case 'i':
printf("4");
break;
case 'j':
case 'k':
case 'l':
printf("5");
break;
case 'm':
case 'n':
case 'o':
printf("6");
break;
case 'p':
case 'q':
case 'r':
case 's':
printf("7");
break;
case 't':
case 'u':
case 'v':
printf("8");
break;
case 'w':
case 'x':
case 'y':
case 'z':
printf("9");
break;
default:
break;
}
}