從高位開始逐位輸出整數,不依靠陣列

2021-10-04 18:31:56 字數 513 閱讀 2224

輸入乙個正整數repeat(0過程中存在疑問:

原本通過#include及pow(10,k)的方式逐位取整數輸出,但採取這種方式時,當repeat>1,如複製輸入示例進行輸出時,最後的8並沒有直接被scanf,需要再按一下回車。然而按系統的檢測標準,這樣輸出的答案是錯誤的。

由此,以下是我的最終答案。

#include

intmain()

for(j=k-

1;j>

0;j--

) digit=n1/x;

digit=digit%10;

printf

("%-2d"

,digit);}

digit=n1%10;

printf

("%d\n"

,digit);}

}

問題順利解決,但我其實並不清楚為什麼採用double形式的pow時,會導致最後乙個整數無法正常輸入,而用上圖這種方法又能順利解決。希望大神解決我的疑問。

整數按位輸出

10 輸入乙個五位以內的正整數,1 判斷它是乙個幾位數 2 請按序輸出其各位數字 3 逆序輸出其各位數字。include include int ten2 int n 定義乙個函式,以備除數使用 void main while num1 0 printf the number of digit is...

把乙個整數由高位到低位依次輸出

1.假設不知道輸入的數的位數 include int main printf 請輸入乙個數 n scanf d x printf 由高位到低位依次輸出 n while x 由低位到高位依次順序存入陣列 for i num 1 i 0 i 由高位到低位逆序輸出陣列 return 0 2.假設知道輸入數...

輸出整數的每一位

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