1. 程式人生 > >PAT乙級1002(C語言)- 寫出這個數 (20)

PAT乙級1002(C語言)- 寫出這個數 (20)

讀入一個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。

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

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

輸入樣例:
1234567890987654321123456789
輸出樣例:

yi san wu

#include<stdio.h> 
int main()
{
  int sum = 0;
  char ch, s[4];                       //ch作為臨時變數儲存輸入的每一個字元,s儲存sum的每一個數字                        
char b[10][5] = { "ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu" }; while ((ch = getchar()) != '\n') //如果一直輸入字元,不按回車的話 sum += (ch - '0'); sprintf(s, "%d", sum); // sprintf(char *buffer, const char *format,[ argument])將任意型別資料按某種格式轉換成字串 for (int i = 0 ; s[i] != 0; i++) { if
(i > 0) printf(""); printf("%s", b[s[i] - '0']); } return 0; }