再帰的アルゴリズム4-単純な再帰的記数法変換

再帰関数を使用して、10進数を2進数に変換します

【分析】

2で割り、剰余法を採用し、新しい被除数としての商を常に2で割ります。そのたびに、剰余のシーケンスが目的の2進数になります。

num == 0の場合、再帰フェーズが終了し、再帰が開始して戻ります。それ以外の場合は、商が新しい被除数として使用されます。つまり、関数が呼び出され、各レイヤーの残りが同時に出力されます。

コード:

#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
おすすめ