C语言实现十进制转为二进制 递归法

发布时间 2023-08-23 09:07:12作者: 江南王小帅

// ConsoleApplication15.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//    

#include <iostream>
#include <stdio.h>
using namespace std;

void to_binary(unsigned long n);

int main(void)
{
    unsigned long number;
    printf("Enter an integer (q to quit):\n");
    while (scanf_s("%lu", &number) == 1)
    {
        printf("Binary equivalent:");
        to_binary(number);
        putchar('\n');
        printf("Enter an integer (q to quit):\n");

    }printf("Done.\n");
    return 0;
    }

void to_binary(unsigned long n) {
    int r;

    r = n % 2;
    if (n>=2)
    {
        to_binary(n / 2);
    }
    putchar(r == 0 ? '0' : '1');

    return;
}