讀入乙個自然數n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
**輸入格式:**每個測試輸入包含1個測試用例,即給出自然數n的值。這裡保證n小於1
0100
10^10
100。
**輸出格式:**在一行內輸出n的各位數字之和的每一位,拼音數字間有1 空格,但一行中最後乙個拼音數字後沒有空格。
輸入樣例:
1234567890987654321123456789
輸出樣例:
yi san wu
首先:讀入的數字會很大,不用說。所以用字串來儲存。a+b ⅱ這題開始也是這麼處理輸入的。對應於**即是:
char number[
100]
;scanf
("%s"
,number)
;
之後,將字串中每一位相加即可得到數字結果.我專門寫了個函式readthisnumber。
int
readthisnumber
(char
*number,
int length)
return num;
}
得到相加後的數字後,我的思路是先將數字轉換為字串。即:
數字轉換為字串可以使用itoa函式,但是itoa函式不是標準c函式。所以很多系統都不支援itoa函式。忘記糟糕的itoa函式吧,用sprintf函式,可以轉換各種形式,還是c標準函式。棒棒噠
int result=0;
char str_result[
100];
result =
readthisnumber
(number,
strlen
(number));
sprintf
(str_result,
"%d"
,result)
;
本題**:
#include
#include
const
char array[10]
[10]=
,,,,
,,,,
,};int
readthisnumber
(char
*number,
int length)
return num;
}int
main()
return0;
}
二刷
#include
#include
const
char spell[10]
[10]=
;int
main()
while
(result)
;while
(numlen--
)}
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...