#include <stdio.h>
void Change(int arr2[],int j);
void Jinsu(int num) //10진수를 0과 1로 표현하는 함수
{
int arr[100];
int arr2[100];
int i=1;
int j;
arr[0] = num / 2;
arr2[0] = num % 2;
while(1)
{
arr[i] = arr[i-1] / 2;
arr2[i] = arr[i] % 2;
if(arr[i] == 1)
break;
i++;
}
j=i+1;
printf("%d", arr[i]);
Change(arr2,j);
}
void Change(int arr2[],int j) //0과 1로 저장된 배열 arr2의 순서를 바꿔줘야 진정한 10진수->2진수이다.
{
int temp;
int i;
int *fptr = &arr2[0];
int *bptr = &arr2[j-1];
for(i=0;i<j/2;i++)
{
temp = *fptr;
*fptr = *bptr;
*bptr = temp;
fptr += 1;
bptr -= 1;
}
for(i=0;i<j;i++)
printf("%d", arr2[i]);
}
int main(void)
{
int num;
printf("숫자를 입력하세요:");
scanf("%d", &num);
Jinsu(num);
return 0;
}
'About Security > C언어' 카테고리의 다른 글
도전프로그래밍2 도전4(회문판단) (0) | 2011.11.08 |
---|---|
도전프로그래밍2 도전3(홀수는 앞에서 짝수는 뒤에서 채우자) (0) | 2011.11.08 |
새로운 c (0) | 2010.11.15 |
C언어 3일차 (1) | 2010.08.06 |
C언어 2일차. (2) | 2010.08.05 |