分析:如果輸入整數123
過程:①123進入函式print(第1個),123>9,則進入print(第2個),執行 n / 10;
②n = 12, 12 > 9,則進入print(第3個),執行 n / 10;
③n = 1, 直接進入printf語句,並執行n % 10 = 1,則最開始列印出1;
④再返回print(第2個),進入printf語句,並執行n % 10 ,此時n = 12, 則n % 10 = 2;
⑤再返回print(第1個),進入printf語句,並執行n % 10 ,此時n = 123, 則n % 10 = 3;
所以,最後列印出1 2 3
注意:這裡是一層一層除以了10,所以最後的順序是正確的,若不除以10,則順序為逆序.
#include
void
print
(int n)
printf
("%d "
, n %10)
;}intmain()
計算乙個數的每位之和
分析:和上面例子相比較,多了一步,算出各位之和
此題是先取餘(從個位開始取),再除以10
#include
int
sum(
int n)
intmain()
遞迴實現字串逆序輸出
分析:此處遞迴和上面列印數字的例子相似,也是一層一層遞迴下去,從最後乙個字元列印出來,在一層一層遞迴回來,實現字串的逆序
//這是逆序列印,不符合逆序輸出條件
#include
void
reverse_string
(char
*str)
//字串本身是陣列,所以此處用的是指標
intmain()
逆序輸出字串
給兩個指標,left放在字串左側,right放在最後乙個有效字元位置
交換兩個指標位置上的字元
left指標往後走,right指標往前走,只要兩個指標沒有相遇,繼續2,兩個指標相遇後,逆置結束
void
reverse_string
(char
* arr)
}
c語言 輸入乙個整數,將每一位數字輸出
程式需求 輸入乙個整數,將每一位數字輸出 程式設計思路 將每一位輸出來,我們可以先獲取這個數的最高權位是多少 t number 將從鍵盤上獲取的數 拷貝乙份給t while t 10 中 主要的作用是獲取最高位數 power 10 每執行一次就 10 t 10 對乙個數整除 假如我們輸入乙個數字 1...
取出整數的每一位數 Redis資料結構 整數集合
一 整數集合實現整數集合 intset 是redis用於儲存整數值的集合抽象資料結構,它可以儲存型別為int16 t int32 t或者int64 t的整數值,並且保證集合中不會出現重複元素。每個intset結構表示乙個整數集合typedef struct intset intset 如上圖,為一i...
列印乙個整數的每一位
題目 列印乙個整數的每一位 例如輸入數字1234,列印出來的結果為1 2 3 4 分析 我們還記得之前有做過 逆序的三位數 的題 其中的思路完全可以用到這道題當中。先把1234逆序成4321,然後就轉化為 整數的分解 即採取模除的方法,取下4321的每一位 每取下一位,就輸出該取下的數,直到取完為止...