数据结构数位转换问题

制作一个数制转换器,任意输入数制d,把一个10进制数转换成d进制的数
第1行,输入一个十进制数
第2行,输入数值
输入样例
1348
8
输出样例
2504
本人代码如下


#include

void showbit(int n)
{
    if(n>1){
    showbit(n/2);
    printf("");
    }
    printf("%d",n%2);
}


void showoct(int n)
{
    if(n>7){
        showoct(n/8);
        printf("");
    }
    printf("%d",n%8);
}

void showhex(int n)
{
    if(n>15){
        showhex(n/16);
        printf("");
    }
    printf("%d",n%16);
}

int main()
{
    int a;
    scanf("%d",&a);
    showbit(a);
    printf("\n");
    showoct(a);
    printf("\n");
    showhex(a);
    printf("\n");
}

请问如何修改才能按照样例进行输出

题目说任意数制,也没说一定是2,8和16啊,你只实现三种也不能满足啊

#include <stdio.h>
void sz(int N,int n)
{
    int i,k;
    i = N%n;
    k = N/n;
    if(k!=0)
        sz(k,n);
    if(n>=10)
    {
        if(i>=10)
            printf("%c",i-10+'A');
        else
            printf("%d",i);
    }
    else
        printf("%d",i);
}


int main()
{
    int N,n;
    scanf("%d %d",&N,&n);
    sz(N,n);
    return 0;
}

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632