输入样例:
10
输出样例:
1010
对于这道题,开始毫无头绪,后来想到,“除2取余,逆序输出”可以用递归实现。代码如下(不能实现对0的二进制的转换)
void dectobin( int n )
{
if(n==0)
return ;
dectobin(n/2);
printf("%d",n%2);
}
于是,加了个标志位,对于0单独处理。
ac代码如下:
int flag=0;
void dectobin( int n )
{
if(n==0&&flag==0)
{
printf("0");
return ;
}
if(n==0&&flag==1)
return ;
flag=1;
dectobin(n/2);
printf("%d",n%2);
}