海岛Blog

海是无垠的,岛在海中是独立的,有一片自己的天空

UVA10921 Find the Telephone【编码】

In some places is common to remember a phone number associating its digits to letters. In this way the expression “MY 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 not associated to any letter.

  Your task is to read an expression and find the corresponding phone number based on the table below. An expression is composed by the capital letters (A-Z), hyphens (-) and the numbers 1 and 0.


Input

The input consists of a set of expressions. Each 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

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


问题链接UVA10921 Find the Telephone

问题简述:(略)

问题分析

  水题,字母转数字,做个表查一下就好了。

程序说明:(略)

题记:(略)

参考链接:(略)


AC的C++语言程序如下:
/* UVA10921 Find the Telephone */

#include <iostream>
#include <string>
#include <ctype.h>

using namespace std;

char num[] = "22233344455566677778889999";

int main()
{
    string s;

    while(cin >> s) {
        for(int i = 0; s[i]; i++)
            if(isupper(s[i]))
                cout << num[s[i] - 'A'];
            else
                cout << s[i];
        cout << endl;
    }

    return 0;
}




阅读更多
所属专栏: ACM题解
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭