輸入乙個數判斷它是幾位數,並逆序和正序將各位數輸出

2021-09-12 21:36:13 字數 1210 閱讀 1492

1、解題思路

(1)首先,想要判斷這個數是幾位數,就是不斷地把原數字的個位採用對10取餘的方式得到後再剝離出,例如原數字是123,第一次對10取餘得到3,然後剝離3,就是把12310取整,得到12,此時數字少了一位,就對位數統計加一,一直迴圈,直到剝離出所有數字。

(2)然後是逆序輸出各個位的數字,這個就簡單了,剛才數字數的時候,就是從後往前剝離數字,你直接在迴圈體的後面加上乙個輸出該數字的語句就行了。

(3)最麻煩的就是這個正序輸出了,你想把它解決的話可以借用逆序輸出的思想,一位一位地剝離數字再輸出,但是這個得從最高位開始,應如何解決呢,比如123想把1取出來,可以整除100就可以得到1,這個整除的100可以理解為10原數字的位數減1次方,但是想得到2就得把1去掉,就是對100取整,下一次就是對10取整,以此類推,就行了。

c語言**

#include

#include

#include

intgetfigures

(int n)

//數字數

while

(n!=0)

return count;

}void

printreverse

(int n)

//逆序輸出各位數字;

while

(n!=0)

;printf

("\n");

}void

printorder

(int n)

//正序輸出;

printf

("\n");

}int

main()

輸入乙個數,判斷它是幾位數?

printf 請輸入乙個數 n int n,r 定義變數r scanf s d n int a n 在輸出的時候n值變為0,所以在這先保留n值 int count 0 變數count記錄數的位數 do while n 0 printf n printf d是 d位數 n a,count 第二種方法 ...

c 程式設計 給定乙個正整數求出是幾位數並逆序輸出

第一步 把輸入的數字轉為字串n.tostring 第二步 求出字串的長度即為正整數的位數 第三步 從後向前逆序輸出 附 using system using system.collections.generic using system.linq using system.text 給乙個正整數,要...

輸入1 365 的乙個數字判斷它是幾月幾日

首先我們要想到怎麼判斷是一年的第幾個月,然後判斷是乙個月的第幾天 我們來看一看 using system 第二個實驗 namespace classes class program 儲存月份的天數 我們雖然完美解決了這個問題,但是我們要注意到的是,閏年有366天,這個只是一般情況,所以我們大膽挑戰一...