1. 程式人生 > >10-7 遞迴實現十進位制轉換二進位制

10-7 遞迴實現十進位制轉換二進位制

// 10-7
// 遞迴實現十進位制轉換二進位制 
#include <stdio.h>

void dectobin(int n);

int main(void)
{
	int n;
	
	printf("請輸入一個正整數:");
	scanf("%d", &n);
	while (1)
	{
		if (n>=0)
		{
			break;
		}
		else
		{
			printf("請重新輸入一個正整數:");
			scanf("%d", &n);
		}
	}
	printf("%d的二進位制是", n);
	dectobin(n);
	
	return 0;
}

void dectobin(int n)
{
	if (n == 0)
	{
		printf("0");
	}
	else if (n == 1)
	{
		printf("1");
	}
	else
	{
		dectobin(n/2);
		printf("%d", n%2);
	}
}