weixin_43416813 2018-10-15 00:59
浏览 422

请教大佬 输入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;

}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 素材场景中光线烘焙后灯光失效
    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器