1. 程式人生 > >用遞迴函式實現十進位制轉換為十六進位制輸出

用遞迴函式實現十進位制轉換為十六進位制輸出

   遞迴函式的定義,不應出現無終止的遞迴呼叫。而應定義為有限次數、有終止的遞迴呼叫函式。

       對於一個問題,只要能夠知道遞迴定義式,及邊界條件(即遞迴終止的條件),就可以編寫一個遞迴函式。

#include <stdio.h>
#define BASE 16


void tran (int n)
{
if (n == 0)
return;
tran (n / BASE);
if (n % BASE > 9)
printf ("%c",(n % BASE) - 10 + 'A');
else 
printf ("%d",n % BASE);


}

int main()
{
int n;
scanf ("%d",&n);
tran (n);
printf ("\n");
        return 0;
}

若想改成2進位制或8進位制輸出,只需將程式中的16改成2或8。