/*======================================================================
递归程序练习:将十进制转换为二进制
这里是把一个十进制数的二进制数表示形式给输出。
由于是“单线路”的递归然后“沿着原线路”再回溯,所以可以考虑在递归的回溯阶段输出结果。
类似的:用递归的方式逆序输出一个十进制数的各个位的数据.(在递归进入下一层前输出数据)
========================================================================*/
#include<stdio.h>
void fun(int num);//递归函数:输出num的二进制数表示形式
int main()
{
int num;
scanf("%d",&num);
fun(num);
return 0;
}
void fun(int num)//fun(num)是输出num的二进制表示
{
if(num<2)
{
printf("%d",num);
}
else
{
fun(num/2);//输出num/2的二进制表示 .(这个其实就是num的二进制序列当中除去最低位之外的部分)
printf("%d",num%2);//输出num的二进制序列当中的最低位
}
}