1. 목적
  - 함수를 호출하는 방식을 이해한다.
  - 최대/최소값을 구하는 알고리듬을 이해한다.

2. 문제
  - 네 값을 입력받아 최대/최소값을 출력하는 프로그램을 작성한다.
  - 최대값. 최소값을 출력하는 함수를 작성한다.
  - 출력화면

===========================================
네 개의 값을 입력하세요 : 12.45 123.4 98 2.0
최소값 :    2.0
최대값 :  123.4
===========================================
Press any key to continue

3. 이해
  - 최대값/최대값을 찾을수 있는가?
  - 함수 호출을 할수 있는가?

4. 코드

#include <stdio.h>

void findmax(double,double,double,double);
void findmin(double,double,double,double);

void findmax(double a, double b, double c, double d)
{
 double max = 0;
 max = max < a ? a : max;
 max = max < b ? b : max;
 max = max < c ? c : max;
 max = max < d ? d : max;

 printf("최대값 : %6.01f\n", max);

 return;
}

void findmin(double a, double b, double c, double d)
{
 double min = 999999;
 min = min > a ? a : min;
 min = min > b ? b : min;
 min = min > c ? c : min;
 min = min > d ? d : min;

 printf("최소값 : %6.01f\n", min);

 return;
}


double main()
{
 float a,b,c,d;
 a = b = c = d = 0;

 printf("===========================================\n");
 printf("네 개의 값을 입력하세요 : ");
 scanf("%f %f %f %f", &a, &b, &c, &d);
 findmin(a,b,c,d);
 findmax(a,b,c,d);

 printf("===========================================\n");

 return 0;

}

5. 해설
  - findmin, findmax 는 각각 최소값, 최대값을 구하는 함수입니다.
  - 소숫점 입력을 위한 scanf 문은 float 형만 가능합니다.
  - 최대값과 최소값느 변할수 있는 극한 조건에서의 값에서 비교를 시작하는게 쉽습니다.
  - 선선언문(빈껍데기를 우선 만들어 참조시 오류 안나게 한다.)은 참고로 만들었습니다.

6. 참고
  - 구글 검색 : 최대값 최소값

Posted by 카켈