欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-07-15 08:18:05
...

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

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

//递归将十进制转化为二进制
#include <stdio.h>
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);//以字符的形式输出
}