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