題意:讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。 輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10^10
讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
輸入格式:每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於10100。
輸出格式:在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。
說實話,這道題很水,但是對於剛接觸程式設計的學者來說,作為練習還是可以的。因為要求學者的邏輯思維要清楚,這點很重要,不管是簡單的,還是複雜的程式,都需要我們清晰的梳理自己的思維,才不會出現「明明樣例都過了,為什麼提交就wa呢」?出現這種情況,大部分原因是我們的邏輯不夠清晰,不夠完整。
這道題考的是將數字的各位數字以拼音的形式輸出來。
第一步:分解數字;
對於剛入門的學者可能會想到分情況討論;這個方法在這道題可以用,因為n不超過10的100次方,所以最大的sum不會超過909,;但是我不推薦大家用這種方法,因為它並不通用,當乙個數的值更大的時候,你分類的情況就更多了,**冗長,也不易於發現問題。
其實我們直接用乙個while迴圈就可以解決。(注意sum為0時要特殊處理)
if(sum==0)
cout<0; j--)
cout第二步:將數字以拼音形式呈現;
很簡單,直接用乙個字串陣列解決,
string a[10]= ;
其實這種用常量陣列實現對應關係的方法很常見,大家可以多學學!
為了便於道友們向我諮詢問題,特意開設了乙個免費的知識星球——captianxue,星球提供學習、理財、生活、職場等各類文章和免費答疑!!
直接上**:
#include#include#includeusing namespace std;
string a[10]= ;
int main()
return 0;
}
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...