您的位置:首页 > 编程语言 > C语言/C++

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

2016-01-11 01:57 337 查看

十进制转二进输出-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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言