使用递归函数实现将一个十进制数转化为二进制数

欢迎关注我的公众号【软件大爆炸】
使用递归函数实现将一个十进制数转化为二进制数

思路简析
因为递归函数有一个调用本身的过程,所以会先打印出最后调用的数。儿我们在使用短除法的时候也是将余数进行倒序输出。所以,采用递归函数进行二进制转化更利于我们理解

//递归将十进制转化为二进制
#include 
void fun(int n);
int main()
{
	int num;
	printf("Please INPUT data:\n");
	while(scanf("%d",&num)==1) //是程序能够循环进行
	{
		printf("Here are the results:\n");
		fun(num);
		printf("\n\nPlease INPUT data:\n");
	}
	return 0;
}

void fun(int n)
{
	int r;
	r=n%2;//如果是n进制则可以将2改为n
	if(n >= 2)
		fun(n/2);//如果是n进制则可以将2改为n
	putchar('0'+r);//以字符的形式输出
}

你可能感兴趣的:(C语言)