下面这段代码可以将一个十进制数字转换为(伪)二进制数,因为return fact(n/2) * 10 + n % 2;是将n取余取整后以10进制的形式展现二进制数字。
#include "stdio.h"
int fact(int n)
{
if (n < 2)
return n;
else
return fact(n/2) * 10 + n % 2;
}
int main(void)
{
int n;
printf("Please enter n:");
scanf("%d", &n);
printf("%d", fact(n));
return 0;
}
注:fact(int n)函数中的2变成任意的数字x(2 <= x <= 16),可以将数字n转换为x进制数字。