列印乙個整數的每一位

2021-08-29 04:04:19 字數 1117 閱讀 2724

題目:列印乙個整數的每一位 ,例如輸入數字1234,列印出來的結果為1  2  3  4

分析:我們還記得之前有做過「逆序的三位數」的題(其中的思路完全可以用到這道題當中。先把1234逆序成4321,然後就轉化為「整數的分解」,即採取模除的方法,取下4321的每一位;每取下一位,就輸出該取下的數,直到取完為止。(注意坑!!!)

**:

#define  _crt_secure_no_warnings  1

#include#includeint reversenum(int num)

return ret;

}void printnum(int num)//但是這種方法對於700這類數字來說失敗,因為reversenum(700)後就成了7,所以再呼叫printnum函式,還是7

}int main()

執行結果:

可以看到,上面那種思路對於像700這種情況還是有問題的,原因就在於 reversenum函式,它逆序過來後是7,所以後面的「取下每一位」輸出時就出錯了。

換一種思路:

(1)先採用%10,/10的辦法依次取下1234 的每一位,把取下的每一位存入陣列中,則陣列中的元素就成了arr[4]=,

(2)從後往前遍歷陣列列印,輸出每一位

這裡我們還可以使用遞迴方式:

#define  _crt_secure_no_warnings  1

#include#include//遞迴

void printnum(int num)

//printf("%d ", num);

printf("%d ", num % 10);

}int main()

執行結果:

輸出乙個整數的每一位

大家有沒有發現這種方法是吧整數的每一位都列印出來了但是他是逆序列印出來的。那我們怎麼才能正序列印呢 請看下面的方法,親!解題思路 把乙個整數分成兩部分列印,當這個整數是兩位或者兩位以上的數,要拆長最後一位和前面n 1位數的列印。例如 num是1234 1 先判斷他是幾位數 用if n 9 大於9說明...

輸出整數的每一位

問題描述 正序輸出整數的每一位 例如 輸入1234,輸出1234 思路 方法一 遞迴實現 利用遞迴的特點,當遞迴到整數的最高位時,輸出並開始返回 方法二 利用陣列儲存 將整數的每一位以字元形式儲存到陣列當中,並將其輸出 遞迴實現 void printr int n 陣列儲存 void printno...

程式設計實現 輸出乙個整數的每一位。

問題描述 輸出乙個整數的每一位。例如 給乙個數1234,在螢幕上列印出來1 2 3 4 解決方法 拆分整數的每一位,然後列印一下 例如 12 首先12 10拿出來2,然後在12 10剩餘1,列印出來就好了 include includeint main printf n system pause r...