프로그램 사용자로부터 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;
}
'C' 카테고리의 다른 글
C언어 다차원 배열 - 3차원 배열 (2) | 2014.07.02 |
---|---|
C언어 다차원 배열 - 2차원배열 (0) | 2014.07.01 |
C언어 배열(Array)에 숫자 10개 입력하여 홀수, 짝수 따로 출력하기 (1) | 2014.06.29 |
C언어 파일 입출력 - 스트림(Stream)의 형성과 fopen함수 (0) | 2014.06.02 |
C언어 들여쓰기 단축키(자동정렬 단축키) (2) | 2014.05.22 |