如何通过C语言输出10以内的十进制整数转换成的二进制数,是1到10同时输出结果的那种?

1=1;2=10;3=11
4=100;5=101;6=1000
7=1001;8=10000;9=10001
10=100000

//示例代码如下

#include <stdio.h>

#include <string.h>


void Decimal2Binary(char *arr,int n)

{

    int i=0,len;

    char tmp;

    while(n!=0)

    {

        if(n&1==1)

            arr[i]='1';

        else

            arr[i]='0';

        n>>=1;

        i++;

    }

    arr[i]='\0';

    len=i;

    //逆置数组

    for(i=0;i<len/2;i++)

    {

        tmp=arr[i];

        arr[i]=arr[len-i-1];

        arr[len-i-1]=tmp;

    }

}

int main(void) 

{

    int i;

    char str[64];

    for(i=1;i<=10;i++){

        Decimal2Binary(str,i);

        printf("%d=%s\n", i, str);

        memset(str, 0, sizeof(str));

    }

    return(0);

}

//示例运行结果截图

温馨提示:答案为网友推荐,仅供参考
相似回答