【C/C++程式碼練習12】正序分解非負整數
阿新 • • 發佈:2019-01-01
題目
輸入一個非負整數,正序輸出它的每一位數字。例如輸入12345,則輸出1 2 3 4 5。例如輸入7000,則輸出7 0 0 0。
解法如下
#include <stdio.h> int main(void) { int x; scanf("%d", &x); int t = x; /* 計算x的mask,如x=123,mask=100 */ int mask = 1; while ( x > 9) { x = x / 10; mask = mask * 10; } /* 正序分離整數 */ int digit; while ( mask > 0) { digit = t / mask; printf("%d", digit); if ( mask > 9) // 控制空格符的輸出 { printf(" "); } t = t % mask; mask = mask / 10; } printf("\n"); return 0; }