用遞歸函數實現十進制轉換爲十六進制輸出

   遞歸函數的定義,不應出現無終止的遞歸調用。而應定義爲有限次數、有終止的遞歸調用函數。

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

#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。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章