天天看點

遞歸實作2~9進制轉換

說明

将十進制正整數轉換成2~9進制數,在螢幕上列印出來。

一般循環取餘數的方法也可以,但是列印出來不太友善。因為對于整數,取餘倒序排列,先取出的餘數需要最後列印,勢必要将其先存儲起來,會多一些步驟。

使用遞歸實作會比較簡單。

螢幕輸入十進制數和需要轉換的進制數值,用逗号隔開。

代碼:

#include<stdio.h>

void transNum(int m, int n)
{
    if(m < n)
    {
        printf("%d", m);
    }
    else
    {
        transNum(m / n, n);
        printf("%d", m % n);
    }
}

int main()
{
    int m, n;
    scanf("%d,%d", &m, &n);
    transNum(m, n);
    printf("\n");

    return ;
}
           

示例:

遞歸實作2~9進制轉換

繼續閱讀