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

pat 1002 寫出這個數 (20)

tle problem 時間 漢語拼音 NPU ios ble eml space

(20 分)

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

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

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

輸入樣例:

1234567890987654321123456789

輸出樣例:

yi san wu
作者: CHEN, Yue 單位: PAT聯盟 時間限制: 400ms 內存限制: 64MB 代碼長度限制: 16KB

#include <iostream> #include <string> using namespace std; string tostring(int n) { switch(n) { case 0:return "ling"; case 1:return "yi"; case 2:return "er"; case 3:return "san"; case 4:return "si"; case 5:return "wu"; case 6:return "liu"; case 7:return "qi"; case 8:return "ba"; case 9:return "jiu"; } } int main() { string input; cin>>input; int len=input.size(); int i,sum=0; for(i=0;i<len;i++) { sum+=input[i]-‘0‘; } int *num=new int[100]; int count=0; while(sum>0) { num[count++]=sum%10; sum=sum/10; } string str=""; for(i=count-1;i>=1;i--) { str+=tostring(num[i]); str+=" "; } str+=tostring(num[0]); cout<<str; return 0;
}

pat 1002 寫出這個數 (20)