一:題目
二:思路分析
1.首先該題目讓我們使用遞歸求十進制轉其他進制
2.其次,我們要知道十進制轉換為其他進制怎么轉換,以例題所給的數據為例
由此圖可以看出,十進制轉換為其他進制,是輾轉相除法,即這個數一直除以要轉換的進制數,一直到商為零,然后逆序輸出所有余數
3.用遞歸圖表示為
4.分析到這里大致的代碼已經有雛形了,還有一個問題是,在余數在1~9時,直接輸出就可以,但是余數是10~15時,不可以直接輸出,要轉換為A~F,怎么轉換呢?
三:代碼
#include <stdio.h>
//1161轉進制
void Func(int x, int m)
{if (x == 0)return;else{Func(x / m,m);if (x % m < 10)printf("%d", x % m);elseprintf("%c", (char)(x % m + 55));}}
int main()
{int x = 0, m = 0;scanf("%d %d", &x, &m);Func(x, m);
}