10921-find the Telephone
Time limit:3.000 seconds
Http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=24&page=show_problem &problem=1862
In some places are common to remember a phone number associating it digits to letters. In this way the expression I love means 69 5683. Of course there are some problems, because some phone numbers can not form a word or a phrase and the digits 1 and 0 are N OT associated to no letter.
Your task is to read a expression and find the corresponding phone number based on the table below. An expression are composed by the capital letters (A-Z), hyphens (-) and the numbers 1 and 0.
number |
abc |
2 |
def |
3 |
ghi |
4 |
jkl |
5 |
mno |
6 |
pqrs |
7 |
tuv |
8 |
9 |
Input
The input consists of a set of expressions. Each of the expression is in a line by itself and has C characters, where 1≤c≤30. The input is terminated by Enf of file (EOF).
Output
This article URL address: http://www.bianceng.cn/Programming/sjjg/201410/45354.htm
For each expression you should print the corresponding phone number.
Sample Input
1-home-sweet-home
My-miserable-job
Sample Output
1-4663-79338-4663
69-647372253-562
Complete code:
/*0.018s*/
#include <cstdio>
#include <cctype>
#include <cstring>
const char num[ ] = {"22233344455566677778889999"};
Char str[35];
int main ()
{
int len, I;
while (gets (str))
{
len = strlen (str);
for (i = 0; i < len; ++i)
Putchar (Isalpha (str[i)) Num[str[i] &: Str[i]);
Putchar (ten);
}
return 0;
}