首页 > 代码库 > 05-2. 念数字(15)

05-2. 念数字(15)

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

0: ling1: yi2: er3: san4: si5: wu6: liu7: qi8: ba9: jiu

输入格式:

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

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

输出格式:

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

输入样例:

-600

输出样例:

fu liu ling ling

 

注:此题也可以使用switch-case语句实现

#include "stdio.h"int main(){    int N,t,p,n=0;    scanf("%d",&N);    t=N;    if(N<0)    {        printf("fu ");        N=-N;    }    if(N==0)    {        printf("ling");        goto out;    }    p=N;    while(N>9)    {        N/=10;        n++;    }    int x=1;    while(n>0)    {        x*=10;        n--;    }    int z;    do{        z=p/x;        if(x>0)        {            p%=x;                //x!=0        }        x/=10;        if(z==0)        {            printf("ling");        }        else if(z==1)        {            printf("yi");        }        else if(z==2)        {            printf("er");        }        else if(z==3)        {            printf("san");        }        else if(z==4)        {            printf("si");        }        else if(z==5)        {            printf("wu");        }        else if(z==6)        {            printf("liu");        }        else if(z==7)        {            printf("qi");        }        else if(z==8)        {            printf("ba");        }        else        {            printf("jiu");        }        if(x>0)        {            printf(" ");        }    }while(x>0);out:        return 0;}

05-2. 念数字(15)