c语言编辑程序问题1

将十进制整数转换为任意n进制整数 (n<=16) 并输出。(用递归函数实现)
输入
输出
请输入一个十进制整数和要转换的进制数,用空格分隔
转换后的数,(16进制用大写ABCDEF代替)

供参考:

#include <stdio.h>
void change(int n, int r)
{
    if (n)
    {
        change(n / r, r);
        if (n % r <= 9)
            printf("%d", n % r);
        else
            printf("%c", n % r - 10 + 'A');
    }
}
int main()
{
    int  n, r;
    scanf("%d%d", &n, &r);
    change(n, r);
    return 0;
}