Page 125 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 125

실습 3C-1                                                  •완성 파일 chap03/kuku.c
                         01  /* 덧셈, 곱셈표 */
                                                                                     실행 결과
                         02  #include <stdio.h>
                                                                               덧셈표
                         03                                                    12 13 14 15 16 17  18 19 10
                         04  /*--- x1과 x2의 합을 구합니다. ---*/                      13 14 15 16 17 18 19 10 11
                         05  int sum(int x1, int x2)                           14 15 16 17 18 19 10 11 12
                         06  {                                                 15 16 17 18 19 10 11 12 13
                                                                               16 17 18 19 10 11 12 13 14
                         07     return x1 + x2;
                                                                               17 18 19 10 11 12 13 14 15
                         08  }
                                                                               18 19 10 11 12 13 14 15 16
                         09  /*--- x1과 x2의 곱을 구합니다. ---*/                      19 10 11 12 13 14 15 16 17
                         10  int mul(int x1, int x2)                           10 11 12 13 14 15 16 17 18
                         11  {
                                                                               곱셈표
                         12     return x1 * x2;                                1 12 13 14 15 16 17 18 19
                         13  }                                                 2 14 16 18 10 12 14 16 18
                         14  /*--- 표 출력 ---*/                                  3 16 19 12 15 18 21 24 27
                         15  void kuku(int(*calc)(int, int))                   4 18 12 16 20 24 28 32 36
                                                                               5 10 15 20 25 30 35 40 45
                         16  {
                                              1                                6 12 18 24 30 36 42 48 54
                         17     int i, j;
                                                                               7 14 21 28 35 42 49 56 63
                         18     for(i = 1; i <= 9; i++) {                      8 16 24 32 40 48 56 64 72
                         19       for(j = 1; j <= 9; j++)                      9 18 27 36 45 54 63 72 81
                         20         printf("%3d", (*calc)(i, j));
                         21       putchar('\n');
                                                       2
                         22     }                         호출  함수는 프로그램이 실행될 때 결정됩니다.
                         23  }
                         24
                         25  int main(void)
                         26  {
                         27     puts("덧셈표");
                         28     kuku(sum);  3
                         29     puts("\n 곱셈표");
                         30     kuku(mul);  4
                         31
                         32     return 0;
                         33   }



                        kuku 함수는 다음과 같이 짧게 작성할 수 있습니다. 초록색으로 표시한 부분을 보면 괄호 ( )와 별표 *

                        가 없어 프로그램이 깔끔합니다(chap03/kuku2.c).








                                                                                          03•검색  125
   120   121   122   123   124   125   126   127   128   129   130