当前位置: 代码迷 >> C语言 >> 10进制数转换为2进制数 (链表实现)里面有几个问题
  详细解决方案

10进制数转换为2进制数 (链表实现)里面有几个问题

热度:179   发布时间:2007-09-24 11:15:44.0
#include <stdio.h>

void out_binary(int n)
{
if(!n)return;
out_binary(n/2);
putchar(n%2?'1':'0');
}

int main()
{
int n;
while(scanf("%d",&n)!=EOF){
out_binary(n);
putchar('\n');
}
}
----------------解决方案--------------------------------------------------------
直接用手工的,上面的程序我喜欢
----------------解决方案--------------------------------------------------------

爱因斯坦说的 天才是把复杂的问题简单化!
看楼主的代码 学习了。
我说的是 主要是在思考问题的出发点上 班组给我上了课。
斑竹等级的高手应该多出来发点 自己的代码给大家学习 领悟啊!
希望斑竹看到小弟的心愿。


----------------解决方案--------------------------------------------------------
我把斑竹的代码收藏起来呵呵
----------------解决方案--------------------------------------------------------

谁可以给讲下下面的这个程序,看了N天了,没看明白,自己都觉得惭愧:

/*

Name:bbs.bc-cn.net C版,版主leeco的回复 10进制转换为二进制

Copyright:

Author:

Date: 25-09-07 10:55

Description:

*/

#include <stdio.h>

void out_binary(int n)

{

if(!n)return;//这个return语句的作用是什么?

out_binary(n/2);//这个递归的作用是什么?这个递归是怎么跳出的?

putchar(n%2?'1':'0');//这里输出完了,是怎么让n再“还原”回去的?

}

int main()

{

int n;

while(scanf("%d",&n)!=EOF)

{

out_binary(n);

putchar('\n');

}

}

这个程序太强了。


----------------解决方案--------------------------------------------------------