用c语言,输入一个十进制数,将其转换为二进制数并输出

如题所述

#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");
}

追问

看不懂

追答

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
你第二题怎么写的,第一题解出来没,可不可以发给我

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网