1002 寫出這個數 20 分

2021-10-21 08:50:24 字數 1319 閱讀 6306

分析**如下

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

每個測試輸入包含 1 個測試用例,即給出自然數 n 的值。這裡保證 n 小於 10100。

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

1234567890987654321123456789
yi san wu
我們去乙個短的字串進行測試,過程如下:

讀取字串"1234"

將每乙個字元轉換為數值,然後相加。也就是'1'-48 + '2'-48+'3'-48+'4'-48,其中'1'-48就能夠將字元轉換為數字,得到結果1010按照十位、個位的順序輸出拼音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...