任意輸入不超過6位的整型數,求數的位數,用switch語句輸出各個數,並逆序輸出的相關做法。c語言。
1.先來看怎麼求一個整型數的位數。既然是整型,它除以10一定沒有小數。那麼依照此原理,將這個數除以10,直到這個數小於零,每除一次可以用count自加來計數,出完時將累加得的count輸出,就是這個整型數的位數。
2.再來看看如何用switch分支語句來輸出各個數:先看看switch的語法。
switch(表示式)
{
case 常量:語句1;
case 常量:語句2;
......
case 常量:語句n;
default: 語句n+1
}
表示式應該為整數型別,case後面跟的是常量,相當於一個具體的標籤,如果遇到這個標籤,就執行這個標籤後面的語句。default後的語句什麼情況下執行?當沒有碰到case中的常量時,就執行。有個注意的點,每個case子句後都應該有一個break語句,表示該分支執行完畢,跳出來。
在這個具體的情況下,表示式為count,為數的位數。當位數為分別為6 5 4 3 2 1時就對應應該case子句。
例如位數為六的情況,看看怎麼輸出各個位的數:
1.先輸出最高位的數,就用這個數除以100000,得到最高位,輸出。
2.用這個數mod100000,就得到把這個數最高位丟掉後,剩下的數。
3.用剩下的數除以10000,得到萬位,輸出。
4.用剩下的數mod10000,得到去掉前兩位後,剩下的數。
5.以此類推。
總結一下:一個整型數除以它同位的1000......,,可以得到它的第一位數。一個整型數,mod於它同位的1000......可以得到丟下第一位後,剩下的數。
3.如何逆序輸出這些數?
1.將這個數mod10,得到最後一位(想想是不是?),直接輸出。
2.將這個數/10再mod10,/10就是把剛才的最後一位丟掉,再mod10就是輸出當前的最後一位,這次輸出的是不是就是倒數第二位?
3.以此類推。