Page 22 - Do it! 자료구조와 함께 배우는 알고리즘(C 언어, 3쇄)
P. 22
Q4 세 값의 대소 관계 13종류의 모든 조합에 대해 중앙값을 구하여 출력하는 프로그램을 작
연습
문제 성하세요.
실습 1-2와 실습 1C-1을 참고하세요.
Q5 중앙값을 구하는 함수는 다음과 같이 작성할 수도 있습니다. 그러나 실습 1C-1의 med3
함수에 비해 효율이 떨어지는데, 그 이유를 설명하세요.
int med3 (int a, int b, int c)
{
if ((b >= a && c <= a) || (b <= a && c >= a))
return a;
else if ((a > b && c <b) || (a < b && c > b))
return b;
return c;
}
조건 판단과 분기
실습 1-3은 입력한 정수 값의 부호(양수/음수/0)를 판단하여 출력하는 프로그램입니다. 이 프
로그램을 통해 프로그램 흐름의 분기에 대해 좀 더 자세히 살펴보겠습니다.
실습 1-3 •완성 파일 chap01/sign.c
01 /* 입력받은 정수 값의 부호(양수/음수/0)를 판단 */ 실행 결과 1
02 #include <stdio.h> 정수를 입력하세요. : 5
03 이 수는 양수입니다.
04 int main(void)
실행 결과 2
05 { 정수를 입력하세요. : -5
06 int n; 이 수는 음수입니다.
07
실행 결과 3
08 printf("정수를 입력하세요. : "); 정수를 입력하세요. : 0
09 scanf("%d", &n); 이 수는 0입니다.
10 if(n > 0)
11 printf("이 수는 양수입니다.\n"); 1
12 else if(n < 0)
13 printf("이 수는 음수입니다.\n"); 2
14 else
15 printf("이 수는 0입니다.\n"); 3
22 C 알고리즘