Page 21 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 21
실습 1C-1 •완성 파일 chap01/med3.c
01 /* 세 정수의 값을 입력하고 중앙값을 구합니다. */ 실행 결과
02 #include <stdio.h>
세 정수의 중앙값을 구합니다.
03
a의 값 : 1
04 /*--- a, b, c의 중앙값을 구합니다. ---*/ b의 값 : 3
05 int med3(int a, int b, int c) c의 값 : 2
06 { 중앙값은 2입니다.
07 if(a >= b)
08 if(b >= c)
09 return b; A b F G
10 else if(a <= c)
11 return a; D E H
12 else
13 return c; C
14 else if(a > c)
15 return a; I
16 else if(b > c)
17 return c; J K
18 else
19 return b; L M
20 }
21
22 int main(void)
23 {
24 int a, b, c;
25
26 printf("세 정수의 중앙값을 구합니다.\n");
27 printf("a의 값 : "); scanf("%d", &a);
28 printf("b의 값 : "); scanf("%d", &b);
29 printf("c의 값 : "); scanf("%d", &c);
30
31 printf("중앙값은 %d입니다.\n", med3(a, b, c));
32
33 return 0;
34 }
세 값의 중앙값을 구하는 절차는 ‘퀵 정렬(Quicksort)’의 알고리즘 개선(06장)에서도 이용합니다.
01•기본 알고리즘 21