목적
  - 키보드로 실수 값을 배열로 받을 줄 안다.
  - 최대 / 최소값을 찾아 낸다.
  - 삼항 연산자를 쓸 줄 안다.

문제
사용자 삽입 이미지
풀이

#include <iostream>

using namespace std;

int main(void)
{
 float fIn[5] = {0};
 float fMin, fMax;
 int i = 0;
 cout << "다섯개의 실수 값을 입력하세요 : ";
 cin >> fIn[0] >> fIn[1] >> fIn[2] >> fIn[3] >> fIn[4];
 
 fMax = fMin = fIn[0];

 while(i < 5)
 {
  fMax = fMax < fIn[i] ? fIn[i] : fMax;
  fMin = fMin > fIn[i] ? fIn[i] : fMin;
  i++;
 }

 cout << "최소값 : " << fMin << endl << "최대값 : " << fMax << endl;

 return 0;
}

해설
  - C 에서 주욱 보셨으면 크게 어려울 문제는 없습니다.
  - 삼항 연산자는 [조건] ? [참일때] : [거짓일때] 로 위 조건문에 값으로 바꿔지는 간단한 조건식입니다.

참고
  - 유사 문제

Posted by 카켈




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 : 삼항 연산자
  - 네이버 검색
  - 구글 검색

Posted by 카켈
이전페이지 1 다음페이지