八進制數 `x`:最低位 `x%8`,高位 `x/8` 遞歸處理,最後輸出。
注意:輸入為十進制整數表示的八進制數 (如輸入 `123` 視為八進制 123 = 十進制 83)。
#include
void dec2oct(int x) {
if (x > 1) dec2oct(x / 8);
printf("%d", x % 8);
}
int main() {
int x; scanf("%d", &x);
dec2oct(x);
return 0;
}
題目要求「八進制轉十進制」,上述遞歸實際是「十進制整數按八進制位拆解輸出」。若輸入為八進制字符串,需先轉為十進制整數再處理。