C语言-十进制转二进输出

来源:互联网 发布:linux中文输入法安装 编辑:程序博客网 时间:2024/06/12 01:25

十进制转二进输出-C语言

用循环就很容易解决问题
代码如下:

/** * title: 十进制转二进输出 * by: 小林  */#include <stdio.h>#include <string.h>#include <stdlib.h>void fun(char *str, int n){    char *t = str;    do// 用do-while是为了解决输入0的问题     {        *t = '0'+n%2;        n /= 2;        ++t;    }while(n);// n不为0则继续循环    *t = '\0';    strrev(str);// 反转字符串}int main(void){    char array[64];    int num;    scanf(" %d", &num);    fun(array, num);    printf("%s", array);    return EXIT_SUCCESS;}

运行效果如下:
这里写图片描述

用递归直接输出就简单多了:

void fun1(int n){    if(n/2)        fun1(n/2);    putchar('0'+n%2);}

编译环境:Dev-C++ 5.11

1 0