輸入一個不超過10位的正整數(無前導零),從最高位開始逐位輸出,數字間以單一空格分隔,最後一位後無空格。
%10 取最低位存入陣列,/10 縮減,得到逆序位數#include <stdio.h>
int main() {
int num, len = 0, digit[10], i;
scanf("%d", &num);
while (num) {
digit[len++] = num % 10;
num /= 10;
}
for (i = len - 1; i >= 0; i--) {
printf("%d", digit[i]);
if (i > 0) printf(" ");
}
return 0;
}
輸入: 654321 陣列存入: [1,2,3,4,5,6] (索引0~5) 逆向輸出: 6 5 4 3 2 1 ✓
char s[12];
scanf("%s", s);
for (int i = 0; s[i]; i++) {
printf("%c", s[i]);
if (s[i+1]) printf(" ");
}
字串法更簡潔,無位數限制,且自然保留前導零(若題目允許)。