1. 程式人生 > >1002 寫出這個數 (20 分)

1002 寫出這個數 (20 分)

讀入一個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式:

每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10 ​100 ​​ 。 輸出格式:

在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後一個拼音數字後沒有空格。 輸入樣例:

1234567890987654321123456789 輸出樣例:

yi san wu

#include <stdio.h>
int main()
{
    int c;/*字元*/
    int cnt = 0, sum = 0, temp;
    char
*py[] = {"ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"}; while((c = getchar()) != '\n'){ sum += c - '0'; } temp = sum; while(temp != 0){ temp /= 10; cnt++; } for(; cnt>0; cnt--){ int i, n; for(i=1, n=1; i<cnt; i++){ n *= 10
; } printf("%s", py[sum / n]); sum %= n; if(cnt > 1) printf(" "); } return 0; }