请教大佬 输入d 和 n d代表十进制 n代表进制 输出n进制到2进制所有数

请教各位大佬,本人萌新一枚,有问题请教。如果我输入一个数n(n是十进制数),在输入一个数d(d代表进制),输出d进制到二进制所有数。请问怎么做?
比如我输入121 在输入8 就输出121的 8 7 6 5 4 3 2 进制数。我想用for loop for(d;d>=2;d--)但好像不行,请问怎么做? 谢谢
我的代码如下,(参考了下某位版主大佬的代码)
void decimalToAny(int n,int d)
{
if(n==0)
{
return ;
}
else if(n>0 && d>=2)
{
decimalToAny(n/d,d);
if(d>=10)
{ // if d is >10
if(n%d>=10)
{
printf("%c",(char)((n%d-10)+'A'));
}
else
{ //if remainder is smaller than 10, print out
printf("%d",n%d);
}
}

        else 
        { //if d is smaller than 10
            printf("%d",n%d);
        }

} 
else if(n<0 && d>=2) 
{
    printf("Please enter a positive number");
} 
else if(n>0 && d<2) 
{
    printf("Please enter at least binary system");
} 
else 
{
    printf("Please enter positive number and binary system");
}

}

int main()
{
int n,d;
char again='y';
while(again=='y'||again=='Y')
{

    printf("enter number");
    scanf("%d",&n);
    printf("base");
    scanf("%d",&d);
    if(n==0) 
    {
        printf("transfer finished:0\n");
        continue;
    }
    decimalToAny(n,d);
    printf("\n");
    printf("--------do you want to continue[y/n]?:");
    scanf("%s",&again);
}
return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问