分析**如下
讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。
每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10100。
在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後乙個拼音數字後沒有空格。
1234567890987654321123456789
yi san wu
我們去乙個短的字串進行測試,過程如下:
讀取字串"1234"
將每乙個字元轉換為數值,然後相加。也就是'1'-48 + '2'-48+'3'-48+'4'-48
,其中'1'-48
就能夠將字元轉換為數字,得到結果10
將10
按照十位、個位的順序輸出拼音yi ling
按照這個分析,第三步為題目最難的部分,將數字劃分按照位數劃分能夠使用取餘數法,但是取餘數之後的結果就是與輸出結果相反,如
135 取餘結果 5 3 1需要輸出的確實
135
,我們這裡採取的方法是儲存取餘結果,通過索引反向輸出。
最後就是將每乙個數字對照著拼音輸出,我們這裡使用的是二維的字串陣列儲存,通過 數字-索引-拼音 的對應關係進行輸出結果。
#include
"stdio.h"
#include
"string.h"
#include
"stdlib.h"
#define n 1000
intsum
(char
*str,
int n)
;void
printchinese
(int
* arr,
int n)
;int
main()
// 輸出
printchinese
(arr, index-1)
;}intsum
(char
*str,
int n)
return sum;
}void
printchinese
(int
* arr,
int index)
;for
(int i = index; i>=
0; i--
)}
1002 寫出這個數(20 分)
think 嗯。好久沒寫。隨便找個 水題寫吧。我直接跑計算,然後根據map進行輸出。讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10 100 輸出格式 在一行內輸出 n 的各位數字之和的...
1002 寫出這個數 (20 分
題目1002 讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。輸出格式 在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 1234567890987...
1002 寫出這個數 20 分
讀入乙個正整數 n,計算其各位數字之和,用漢語拼音寫出和的每一位數字。輸入格式 每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10 100 輸出格式 在一行內輸出 n 的各位數字之和的每一位,拼音數字間有 1 空格,但一行中最後乙個拼音數字後沒有空格。輸入樣例 123...