递归算法4——简单递归之数制转换

使用递归函数实现十进制转换为二进制整数

【分析】

除二取余法,不断地将商作为新的被除数除以2,而每次的余数序列就是所求的二进制数。

当num==0时,回推阶段结束,开始递推,返回;否则,将商作为新的被除数,即调用函数同时输出每层的余数。

code:

#include<stdio.h>
#include <iostream>
void DectoBin(int num);
void main()
{
	int n;
	printf("请输入一个十进制整数:");
	scanf("%d", &n);
	printf("二进制数是:");
	DectoBin(n);
	printf("\n");
	system("pause");
}
void DectoBin(int num)
{
	if (num == 0)
		return;
	else
	{
		DectoBin(num / 2);
		printf("%d", num % 2);
	}
}

结果:


 

猜你喜欢

转载自blog.csdn.net/baidu_36669549/article/details/104136990