十进制转换为二进制

错误代码

void dectobin(int n)
{
     dectobin(n/2);
    if(n%2==1){printf("1");}
    else if(n%2==0){printf("0");}
    else if(n==1){printf("1");}
    else if(n==0){printf("0");}
   
}

adjust , correction

void dectobin(int n) {
    if (n == 0) {          // 递归终止条件
        return;
    }
    dectobin(n / 2);       // 递归处理高位
    if (n % 2 == 1) {      // 当前位为 1
        printf("1");
    } else {               // 当前位为 0
        printf("0");
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务