首页 > 代码库 > L1-007. 念数字

L1-007. 念数字

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出“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

 

 

#include "iostream"
#include "cmath"
#include "cstdio"
#include "map"
#include "string"
#include "cstring"
using namespace std;
map<int,string> m;
void fun()
{
    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";
}
int main()
{
    fun();
    int n;
    while(~scanf("%d",&n))
    {
        char temp[20];
        if(n<0){
          cout<<"fu ";
            n=abs(n);
        }
        sprintf(temp, "%d", n);///int ->char[]
        int len=strlen(temp);
        for(int i=0;i<len;i++)
        {
            if(i==len-1)
            {
                cout<<m[temp[i]-48]<<endl;
                break;
            }
            else
            {
                cout<<m[temp[i]-48]<<" ";
            }
        }
    }
    return 0;
}

 

L1-007. 念数字