별의 공부 블로그 🧑🏻‍💻

🗒️ Source Code/C (18)

728x90
  1. 2020.11.02 버블 정렬(Bubble Sort)

    *버블 정렬(Bubble Sort) 12345678910111213141516171819202122232425#include #define SIZE 5 int main() { int i, k; int list[SIZE] = {16, 7, 9, 1, 3}; // 배열의 요소 정렬 for (k = 0; k

  2. 2020.10.12 배열을 사용하지 않고 입력 받은 정수의 각 자리의 수 합하기

    다음과 같이 입력 받은 정수 N의 각 자리의 수를 배열을 사용하지 않고 반복문을 사용하여 합할 수 있다. 1234567891011121314#include int main() { int N, sum = 0; scanf("%d", &N); for (int i = N; i != 0; i /= 10) { sum += (i % 10); } printf("정수 N의 각 자리수의 합 : %d", sum); return 0;} 1234515 원리는 다음과 같다. 입력 받은 정수 N을 0이 될 때까지 10으로 계속 나누어 준 후, 10으로 mod 연산을 수행하면 된다.그리고 나온 값들을 모두 더해주면 끝! [Step 1] 12345 12345 % 10 = 5 (다섯 번째 자리의 수) [Step 2] 12345 / 10..

  3. 2020.09.18 조건문이나 함수 없이 반올림 하기

    조건문이나 round() 함수를 사용하지 않고 간단한 조건만으로 반올림을 할 수 있는 방법이 있다. 예를 들어 5자리의 정수를 받아서 100의 자리에서 반올림한 결과 값을 출력하는 프로그램을 작성할 때, (100의 자리의 숫자 >= 5) * 1000의 값을 더해주면 된다. >= 5 이라는 조건을 넣어주어 100의 자리의 숫자가 5 이상일 경우 1(True), 그렇지 않을 경우 0(False)이 나오도록 한 후 그 값을 1000과 곱하여 더해주면 되는 것이다. 1234567891011121314151617#include int main() { int input, tenThousand, thousand, hundred; scanf("%d", &input); tenThousand = input / 10000;..

  4. 2020.09.11 숫자 출력 시 앞에 0을 붙여 자리수 채우기

    C 언어에서 숫자 출력 시, 앞에 0을 붙여 자리수를 채울 수 있는 방법이 있다.printf()로 출력할 경우, 형식 지정자에 0n(n: 숫자)을 붙이면 된다. 12345678#include int main() { printf("%d\n", 125); printf("%5d\n", 125); printf("%05d\n", 125); return 0;} 125 12500125 > "%05d" 1 2 3 4 5 0 0 1 2 5

  5. 2020.08.14 C언어 2차원 배열 동적 할당 예제

    // 동적 할당을 이용하여 ROW x COL 크기의 2차원 배열 만들기 #include #include #define ROW 10 #define COL 10 int main() { int count = 0; // 동적할당을 이용하여 2차원 배열 생성하기 int **arr = (int**)malloc(sizeof(int) * ROW); for (int i = 0; i < ROW; i++) { arr[i] = (int*)malloc(sizeof(int) * COL); } // 2차원 배열에 데이터 넣기 for (int i = 0; i < ROW; i++) { for (int j = 0; j < COL; j++) { arr[i][j] = count++; } } // 2차원 배열의 내용 출력하기 for (int..

  6. 2020.05.15 이진 탐색 트리 프로그램 (Binary Search Tree Program)

    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816..

  7. 2017.09.14 배열 내에서 같은 수의 개수 찾기 (Finding the number of the same number in an array)

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include int main() { int count = 0, input = 0; int ary[10] = {0, 1, 2, 3, 4, 4, 3, 2, 5, 6}; printf("Input a number : "); scanf("%d", &input); for(int i = 0; i

  8. 2017.05.31 원형 큐 (Circular Queue) 예

    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106// 원형 큐 예 #include #include typedef int element;typedef struct { element *queue; int front, rear; int size;} QueueType; void init(QueueType *q) { q->front = q->rear = 0; q->size = 2; // 원형..

  9. 2017.05.31 중위 표기 수식을 전위 표기 수식으로 변환하는 프로그램

    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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..

  10. 2017.05.16 중위 표기 수식을 후위 표기 수식으로 변환하는 프로그램

    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107// 중위 표기 수식을 후위 표기 수식으로 변환하는 프로그램 #include #include #define MAX_STACK_SIZE 100 typedef char element; typedef struct { element stack[MAX_STACK_SIZE]; int top;} StackType; // 스택 초기화 함수voi..

  11. 2017.05.16 후위 표기식 계산 프로그램 5

    - 수식을 표기하는 방법에는 중위(infix), 후위(postfix), 전위(prefix)의 3가지 방법이 있음.- 연산자가 피연산자 사이에 있으면 중위이고, 연산자가 피연산자 뒤에 있으면 후위이며, 연산자가 피연산자 앞에 있으면 전위라고 함.- 인간은 주로 중위 표기법을 사용하지만 컴파일러는 주로 후위 표기법을 사용함.- 후위 표기 수식은 괄호가 없어도 우선순위가 반영되어 있음. 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485// 후위 표기식 계산 #include ..

  12. 2017.05.11 괄호 검사 프로그램

    12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697// 괄호 검사 프로그램 #include #include #define TRUE 1#define FALSE 0#define MAX_STACK_SIZE 100 typedef char element; typedef struct { element stack[MAX_STACK_SIZE]; int top;} StackType; // 스택 초기화 함수void init(StackType *s..

  13. 2017.05.08 연결 리스트로 구현된 리스트 ADT 테스트 프로그램

    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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..

  14. 2017.05.08 이중 연결 리스트의 다항식 프로그램

    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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 #include #include // 연결 리스트의 노드의 구조 typedef struct..

  15. 2017.05.03 별 찍기 (Asterisk Decoration) in C

    [소스1] 1 2 3 4 5 6 7 8 9 10 11 12 13 #include int main(void) { int i, j; for (i = 1; i

  16. 2017.04.26 Multiplication Tables (9X9, 18X18) in C

    9 X 9 Multiplication Table 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include int main(void) { printf("Multiplication Table (9X9) \n"); for (int i = 0; i

  17. 2017.04.17 Numbers in Ascending/Descending Order with using Recrusion in C

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include void recur_print(int n) { recur_print(10); } // 10 9 8 7 6 5 4 3 2 1 void recur_print(int n) { if (n > 0) { printf("%d ", n); recur_print(n-1); } } // 1 2 3 4 5 6 7 8 9 10 void recur_print(int n) { int a; if (n > 0) { recur_print(n-1); printf("%d ", n); } } cs As you can see, if you put the part for recursion before you put the pa..

  18. 2017.04.17 Sum of Numbers in Ascending/Descending Order with using Recursion in 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 #include int print_sum(int n); void main() { printf(" = %d", print_sum(10)); } // 10 + 9 + 8 + 7 + 6 + 5 + 4 + 3 + 2 + 1 int print_sum(int n) { if (n

728x90


📖 Contents 📖