반응형
안녕하세요 오늘 포스팅부터는 성조라는 이름으로 포스팅할 예정입니다.
C코드 중에 예전에 0~255까지 10, 8, 16, 2 각각의 진수에 맞춰서 출력하는 프로그램 코드를 짰는데 한참 초창기에 C언어 코드를 작성하면서 정렬에 대해서 친구에게 피드백 받고 수정하고 수정해서 짰던 기억이 나서 갖고 왔습니다 ㅠ
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
#include <stdio.h>
void binary(short n);
short main()
{
short line = 0;
printf(" DEC, OCT, HEX, BIN");
printf("\n");
for (short i = 0; i <= 255; i++)
{
printf(" %03d", i);
printf(" %03o", i);
printf(" %03x ", i);
printf("\t");
binary(i);
if (i % 5 == 0) {
printf("\n");
}
else if (line == 0)
{
printf("\n");
}
}
}
void binary(short n)
{
short i[8] = { 0 };
short j = 7;
while (1) {
if (n < 2)
{
i[j] = n % 2;
break;
}
else
{
i[j] = n % 2;
n = n / 2;
j--;
}
}
for (short k = 0; k < 8; k++) {
printf("%d", i[k]);
}
}
|
[풀이]
배열 공간을 이용한 함수로 작성해서 갖고 오는 것인데 저는 처음에 재귀함수로 작성했는데 00000000 -> 10000000 -> 01000000 순서로 앞에서부터 값이 차오르는 문제가 있었는데 위 함수처럼 뒷 번호부터 원소 값을 넣어주면 00000000 -> 00000001 -> 00000010 ...으로 진행되는 것을 알 수 있었습니다
코드를 따라서 작성하고 실행해본 후 이해해 보세요ㅎㅎ
다음 포스팅 때 뵙겠습니다!
반응형
'C, C++ > C' 카테고리의 다른 글
[C언어 ] 라이프니츠 공식(Leibniz formula)을 50만항을 계산하는 프로그램 (0) | 2020.12.19 |
---|---|
[C언어] 소수 판별하는 소스코드 (0) | 2020.12.14 |
[C언어] 1부터 100까지 정수의 약수를 구하고, 소수와 제곱수, 완전수를 구별하도록 하는 프로그램을 for를 이용하여 작성하라. (0) | 2020.12.10 |
[C언어] 학년과 학기 입력 받아 수강과목 출력 프로그램 (0) | 2020.12.08 |
[C언어] switch ~ case를 이용하여 윤달 계산 프로그램 (0) | 2020.12.02 |