#include <stdio.h>

void binary_digit(int decimal, int len, int * arr)

{
 if(len==0)

  return 0;

 arr[len-1] = decimal % 2;

 binary_digit(decimal/2, len-1, arr);
 return 0;
}

int array_len(int decimal)

{
 int len=0;

 while(decimal!=0)
 {
  decimal = decimal / 2;

  len++;
 }
 return len;
}

int main(void)

{
 int decimal;

 int len;

 int * parr;

 int i;

 printf("10진수를 입력하세요:");

 scanf("%d", &decimal);

 len = array_len(decimal);

 parr = (int*)malloc(sizeof(int)*len);

 binary_digit(decimal, len, parr);

 for(i=0; i<len; i++)

  printf("%d", parr[i]);

 return 0;
}


갑자기 생각나서 만들어봤는데 허접해보인다