解题思路:本题强调使用递归,而二进制的取法是取余数后倒过来输出。因此实现两个部分一个计算余数并倒过来打印。
问题:本题要求实现一个函数,将正整数n转换为二进制后输出。
函数接口定义:
void dectobin( int n );
函数dectobin应在一行中打印出二进制的n。建议用递归实现。
裁判测试程序样例:
#include
void dectobin( int n );
int main()
{
int n;
scanf("%d", &n);
dectobin(n);
return 0;
}
输入样例:
10
10
结尾无空行
输出样例:
1010
结尾无空行
代码如下:
void dectobin(int n)
{
if (n == 0)
printf("0");//递归函数重要组成,结束(边界判定)
else if (n == 1)
printf("1");
else
{
dectobin(n/2);
printf("%d", n%2);//保证先处理后打印
}
}



