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. 참고
- 구글 검색 : 최대값 최소값