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');
}
}
这个程序太强了。
----------------解决方案--------------------------------------------------------