POST

C언어 재귀함수를 이용하여 10진정수 입력받아 2진수로 출력하기

프로그램 사용자로부터 10진수 정수를 하나 입력 받은 다음, 이를 2진수로 변환해서 출력하는 프로그램을 작성하여 보자.


여기서 재귀함수를 이용하면 쉽게 만들 수가 있다.

재귀함수 이해하기 - 바로가기






#include<stdio.h>

#pragma warning(disable:4996) // scanf 보안 경고 제거용


int to_bin(int n); // 함수 선언


int main(void) {

int number;

printf("10진수 정수 입력: ");

scanf("%d", &number); // 10진 정수 입력

to_bin(number); // 함수호출

printf("\n");


return 0;

}

int to_bin(int n) { // 2진수 변환 함수


if (n == 0 || n == 1) // n의 값이 0또는 1이되면 n의 값을 출력

printf("%d", n);

else {

to_bin(n / 2); // 재귀함수 호출 - n을 2로 나눈 값을 매게변수로 사용

printf("%d", n % 2); // n을 2로 나눈 나머지 출력

}

return 0;

}