Skip to content

L1-007 念数字

Statement

Metadata

  • 作者: 翁恺
  • 单位: 浙江大学
  • 代码长度限制: 16 KB
  • 时间限制: 400 ms
  • 内存限制: 64 MB

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:

0: ling
1: yi
2: er
3: san
4: si
5: wu
6: liu
7: qi
8: ba
9: jiu

输入格式

输入在一行中给出一个整数,如:1234

提示:整数包括负数、零和正数。

输出格式

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si

输入样例

-600

输出样例

fu liu ling ling

Solution

#include <ctype.h>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <deque>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <vector>
using namespace std;

typedef long long LL;
const double PI = 3.14159265358979323846264338327;
const double E = 2.718281828459;
const double eps = 1e-6;
const int MAXN = 0x3f3f3f3f;
const int MINN = 0xc0c0c0c0;
const int maxn = 1e5 + 5;
const int MOD = 1e9 + 7;

int main() {
    map<char, string> m;
    m.clear();
    m['0'] = "ling";
    m['1'] = "yi";
    m['2'] = "er";
    m['3'] = "san";
    m['4'] = "si";
    m['5'] = "wu";
    m['6'] = "liu";
    m['7'] = "qi";
    m['8'] = "ba";
    m['9'] = "jiu";
    m['-'] = "fu";
    string s;
    cin >> s;
    int len = s.size();
    for (int i = 0; i < len; i++) {
        if (i)
            cout << " ";
        cout << m[s[i]];
    }
    cout << endl;
}

Last update: May 4, 2022
Back to top