본문 바로가기

프로그램/C언어

【C언어】 예제 - 최대, 최소, 평균 구하는 프로그램

안녕하세요. C언어 예제로 사용하기 좋은 예시입니다. 사용자에게 10개의 숫자를 입력받아 그 숫자들의 최대, 최소를 찾고 최대,최소를 제외한 8개의 숫자들의 평균값을 구하는 프로그램입니다. 최대값과 최소값, 평균값을 구하는 함수를 이용해서 만든 예시입니다. 혹시나 공부하시는 분이시라면 아래 코드를 눈으로만 읽어보아도 충분히 도움이 될 것 같습니다.


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define NUMMAX 10

float find_max(float input[], int size) //최대값구하는 함수선언 + 배열이용
{
        float max = input[0];
        int i;
        for (i = 0; i<size; i++)
        {
               if (input[i] >= max)
               {
                       max = input[i];
               }
        }
        return max;
}
float find_min(float input[], int size) //최소값구하는 함수선언 + 배열이용
{
        float min = input[0];
        int i;
        for (i = 0; i<size; i++)
        {
               if (input[i] <= min)
               {
                       min = input[i];
               }
        }
        return min;
}
float calc_avr(float input[], int size, float max, float min) //최대값과 최소값을 제외한 평균값을 구하는 함수선언 + 배열이용
{
        float sum = 0;
        float result;
        int i;
        for (i = 0; i<size; i++)
        {
               sum += input[i];
        }
        sum = sum - find_max(input, NUMMAX) - find_min(input, NUMMAX);
        result = sum / (size - 2);
        return result;
}
void main()     //실제로 프로그램이 구현되는 부분
{
        float input[NUMMAX];
        int i;
        for (i = 0; i<NUMMAX; i++)     //사용자로부터 숫자를 입력받는 반복문
        {
               printf("%d번째 숫자를 입력하세요. : ", i + 1);
               scanf("%f", &input[i]);
        }
        printf("최대값은 %0.2f 입니다.\n", find_max(input, NUMMAX));     //출력하는 부분
        printf("최소값은 %0.2f 입니다.\n", find_min(input, NUMMAX));
        printf("평균은 %0.2f 입니다.\n", calc_avr(input, NUMMAX, find_max(input, NUMMAX), find_min(input, NUMMAX)));
}