소프트웨어/C

[2004년 중간 6번] 최대/최소값 판정 - 삼항 연산자

카켈 2007. 2. 9. 21:33




1. 목적
  - 삼항 연산자에 대해 이해한다.
  - 최대/최소값을 이해한다.

2. 문제 (점수 : 20점)
  - 네 개의 정수값을 받아서 최소값과 최대값을 찾아 내는 프로그램을 작성하라.
  - 조건을 판단할때 삼항 연산자(op1 ? op2 : op3)를 쓴다.
  - 출력 화면

네 개의 정수를 입력하세요 : 123 56 -465 234
최소값 : -465
최대값 : 234
Press any key to continue

3. 이해
  - 삼항 연산자를 이해하는가?
  - 최대/최소값을 넣어 쓸줄 할당할줄 아는가?

4. 코드

#include <stdio.h>

int main()
{
 int a,b,c,d;
 long max = -999999999;
 long min = 999999999;
 a = b = c = d =0;

 printf("네 개의 정수를 입력하세요 : ");
 scanf("%d %d %d %d",&a, &b, &c, &d);

 max = a;
 max = max < b ? b : max;
 max = max < c ? c : max;
 max = max < d ? d : max;

 min = a;
 min = min > b ? b : min;
 min = min > c ? c : min;
 min = min > d ? d : min;

 printf("최소값 : %d\n", min);
 printf("최대값 : %d\n", max);

 return 0;
}

5. 해설
  삼항 연산자는 한줄로 간단하게 조건 판단 리턴값 까지 쓰는 구문입니다. 따라서

   [조건] ? [참] : [거짓]
      II
  if [조건]
  { [참] }
  else {[거짓]}

 조건이 맞다면 참의 값이 아니면 거짓의 값이 리턴되어 나오는 간단한 구문입니다.
 이전에도 이와 비슷한 코드들을 많이 썼으니깐 찾아 보시면 많은 도움이 되실겁니다.
 
6. 참고
  - http://www.winapi.co.kr/clec/cpp1/5-3-1.htm : 삼항 연산자
  - 네이버 검색
  - 구글 검색