題目
1002 寫出這個數(20分)
讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10**100
輸出格式:
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後乙個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
思路
用乙個二維陣列字元儲存0-9對應的拼音,
char a[10]
[5]=
;
用string類建立乙個字串s讀入輸入的數字,因為輸入的數字太大,只能用字元型別
然後對字串遍歷累加,
對累加的值sum進行模10運算,取最後一位,放入乙個棧stk中(因為輸出的拼音從高位開始)
再對sum自除以10,重複直到取完。
然後根據不斷出棧,輸出棧頂元素數字對應的拼音。注意最後乙個拼音不應該有空格。
**
#include
#include
#include
using
namespace std;
intmain()
;for
(int i =
0; i length()
; i++
)while
(sum!=0)
while
(stk.
size()
!=1)//留最後乙個元素特殊輸出
cout << a[stk.
top()]
;//最後乙個拼音不帶空格
return0;
}
PAT1002 寫出這個數
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...
PAT 1002 寫出這個數
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...
PAT 1002 寫出這個數
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。輸出格式 在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123456789098765...