7-25 念数字 (15 分)


输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出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<stdio.h>
int main()
{
    int n,j,i=0;
    int ch[100];
    scanf("%d",&n);
    if(n==0) printf("ling");
    if(n<0)
    {
        printf("fu ");
        n=-n;
    }
    while(n!=0)
    {
        ch[i]=n%10;
        n/=10;
        i++;
    }
    for(j=i-1;j>=0;j--)
        {
        if(ch[j] == 0)
            printf("ling");
        else if(ch[j] == 1)
            printf("yi");
        else if(ch[j] == 2)
            printf("er");
        else if(ch[j] == 3)
            printf("san");
        else if(ch[j] == 4)
            printf("si");
        else if(ch[j] == 5)
            printf("wu");
        else if(ch[j] == 6)
            printf("liu");
        else if(ch[j] == 7)
            printf("qi");
        else if(ch[j] == 8)
            printf("ba");
        else if(ch[j] == 9)
            printf("jiu");

  if(j != 0)
   printf(" ");
    }
    printf("\n");
    return 0;
}

心里路程:

   这个题困扰了我很久,在网上看了很多人的博客,最终打出来了。

我觉得难点在于一开始不知道如何将数字与字母挂钩,然后就是没想到用数组存放,然后倒序输出 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM