zzuli OJ 1061: 順序輸出各位數字
阿新 • • 發佈:2019-01-02
題目描述
輸入一個不大於10的9次方的正整數,從高位開始逐位分割並輸出各位數字。
輸入
輸入一個正整數n,n是int型資料
輸出
依次輸出各位上的數字,每一個數字後面有一個空格,輸出佔一行。例如,輸入 12345 ,輸出 1 2 3 4 5
樣例輸入
12345
樣例輸出
1 2 3 4 5
提示
注意整數運算避免使用double型別的函式如pow()。
本題可先用一個迴圈計算出最高位的位權h,然後再用一個迴圈,迴圈內容為: 輸出最高位(n/h)、扔掉最高位(n = n%h)、降低最高位位權(h = h/10),直到位權h為0
#include<stdio.h> int main() { int n, temp, base; scanf("%d", &n); temp = n; base = 1; while( temp > 9) //得到最高位位權base { temp /= 10; //扔掉各位 base *= 10; //位權增加 } while(base > 0) { printf("%d ", n/base); //輸出最高位 n %= base; //扔掉最高位 base /= 10; //位權降低 } printf("\n"); return 0; }