/*淮南师范学院 电子工程学院 夏健钧 2017/3/25*/
/* binary.c -- 以二进制形式打印正整数*/
#include<stdio.h>
void to_binary (unsigned long n);
int main(int argc, const char *argv[])
{
unsigned long number;
printf("Enter an integer (q to quit): \n");
while (scanf ("%lu",&number) == 1)
{
printf("Binary equivalent: ");
to_binary(number);
putchar ('\n');
printf("Enter an integer (q to quit): \n");
}
printf("Done. \n");
return 0;
}
void to_binary (unsigned long n ) /* 递归函数 */
{ /*利用递归 先调用 最后出的特点 巧妙的打印二进制数*/
int r;
r = n %2;
if(n > 2)
to_binary (n/2);
putchar(r == 0 ? '0' : '1');
return ;
}