Armin
迷茫的话 TRY AGAIN 多少次都能重新再来

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:
1234567890987654321123456789
输出样例:
yi san wu


============================================
SRC:
#include <stdio.h>

int main ()
{
    int num ,sum , i;
    char Num [101 ] , c ;

    num = sum = 0 ;
    while(1)
    {
        scanf("%c", &c) ;
        if ( c == '\n' )
            break ;
        Num[num++] = c ;
    }

    for ( i = 0 ; i < num ; i++ )
    {
        sum += (int)(Num[i]-'0') ;
    }

    i = 0 ;
    while(1)
    {
        Num[i++] = (char)(sum%10 + '0') ;
        sum /= 10 ;
        if ( sum == 0 )
            break ;
    }


    for ( i = i-1; i >= 0 ; i-- )
    {
        switch( Num[i] )
        {
        case '1' :
            printf("yi") ;
            break ;
        case '2':
            printf("er") ;
            break ;
        case '3':
            printf("san") ;
            break ;
        case '4':
            printf("si") ;
            break ;
        case '5':
            printf("wu") ;
            break ;
        case '6':
            printf("liu") ;
            break ;
        case '7':
            printf("qi") ;
            break ;
        case '8':
            printf("ba") ;
            break ;
        case '9':
            printf("jiu") ;
            break ;
        case '0':
            printf("ling") ;
            break ;
        }
        if ( i != 0 )
            printf(" ");
    }

    return 0 ;

}

//pass:20 \(^o^)/~

posted on 2013-11-30 21:48  Armin  阅读(189)  评论(0编辑  收藏  举报