您的位置:首页 > 其它

小明的烦恼

2014-05-23 21:09 253 查看
题目223
题目信息
运行结果
本题排行
讨论区

时间限制:3000 ms | 内存限制:65535 KB

难度:1

描述
小明最近接到了一个棘手的任务,他们公司有一个电话簿.但是这是一个奇怪的电话簿,因为它不是用数字记录电话号码,而是用数字键上所对应的字母来记录电话号码(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>
int main(){
 int n;
 char str[11];
 scanf("%d",&n);
 while(n--){
  scanf("%s",str);
  int t,i,j;
  t=strlen(str);
  for(i=0;i<t;i++){
   j=(str[i]-'a'+6)/3;
   if(j<=6)
   printf("%d",j);
   else{
    if(str[i]>='p'&&str[i]<='s')
     printf("7");
    if(str[i]>='t'&&str[i]<='v')
     printf("8");
    if(str[i]>='w'&&str[i]<='z')
     printf("9");
   }
  }
  printf("\n");
 }
 return 0;
}


很水的题,我一直想找一个简单的方法,最后还是用笨方法AC了,这里用nstr[110]=“222233344455566677778889999”,可简化解题过程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: