如题所述
#include <stdio.h>
void bin( int n )
{
if ( n/2 ) bin(n/2) ; //先输出高位的二进制数
printf( "%d", n%2 );
}
void main()
{
int n;
scanf("%d", &n);
bin(n);
printf("\n");
}追问
void bin( int n )
{
if ( n/2 ) bin(n/2) ; //先输出高位的二进制数
printf( "%d", n%2 );
}
void main()
{
int n;
scanf("%d", &n);
bin(n);
printf("\n");
}追问
看不懂
追答10转二进制,除2逆向取余数输出
以n=6为例:
6/2=3..0 余数为0,但商还不是0,所以,先去算3的二进制
3/2=1..1 余数为1,但商还不是0,所以,先去算1的二进制
1/2=0..1 商为0,输出余数1,然后返回,上一步的3也会输出3%2=1,再返回,第一步的6输出 6%2=0
慢慢思考一下吧
我现在只是入门,
你可以根据生成二进制的规则,自己先思考一下,如何去运用所学的知识去做这个题目。
上面我用的递归函数的方法来实现的。
编程序讲究算法和方法,需要自己思考和动手去理解应用的。
初学者,可以根据自己的所学,尽可能的达到功能实现,未必是最优的方法
你不知道啊
温馨提示:答案为网友推荐,仅供参考
第1个回答 2017-02-12
你第二题怎么写的,第一题解出来没,可不可以发给我