1. 程式人生 > >C語言—正序,逆序輸出任意整數的每一個數字

C語言—正序,逆序輸出任意整數的每一個數字

從2016年大一進校進入計算機專業也有一段時間了,對這個行業也有了自己的理解和想法,從中我感受到了計算機的特別,從密密麻麻的程式碼中也能發現屬於自己的樂趣,也堅定了我在這條道路上走下去的信心。

為了能更好的和網上志同道合的朋友相互探討學習技術,今後我會經常在CSDN上發部落格,一是鞏固自己的基礎,加深自己的理解,二是想聽到改進的意見,正所謂當局者迷旁觀者清,自己可能會漏掉某些問題,在別人眼裡卻很容易發現。

今天,我第一篇部落格就寫一道經典例題。

題目:給一個整數,要求:

①輸出它是幾位數字

②分別輸出每一個數字

③逆序輸出每一個數字

先看一下題目要求,我們最開始學習寫過一個作業很像這個題,只不過是給定這個整數是個5位數字,當時我們用10000,1000,100,10,1,這些數來回簡單運算一下將每個數正序(逆序)輸出。

現在我們這道題給定的卻是一個位數不定的整數,我們就得好好想想了。

先來看看第一問,第一問很簡單,定義一個迴圈,把這個數一直除以10,當為0時迴圈停止就好。

具體程式碼如下:

 

這裡用了while語句,當然也可以用do while語句,程式碼如下:

 

不過得注意do while和while的細微差別。

再看看第二問,其實我們可以輸出(當前數)/(10的這個數當前位數-1的次方),再將(當前數)%(10的這個數當前位數-1的次方)的值賦給當前數字,迴圈下去,直到當前數==0停止,記錄下每個數。程式碼如下:

 

再看看第三問,我們可以輸出(當前數)%10,再將(當前數)/10賦予當前數字,迴圈下去,直到當前數==0時為止,記錄下每個數。程式碼如下:

 

主程式程式碼:

 

執行結果:

 

可以看來這道題靈活的應用了 “/10” 和 “%10” 。

至此,這個題目算是全部解決。

謝謝。