티스토리 뷰

반응형

youtu.be/zvytMSQwGpU

모든 강의 자료 : www.codingnow.co.kr/

C언어를 배울때 과제로 많이 나오는 내용으로

최대 최소를 구하는 알고리즘입니다.

 

최대 최소를 구하기 위해 반복문을 사용하고 있으며,

min과 max의 변수의 값을 조건문을 사용하여 찾아내는 것입니다.

 

여기서는 단순하게 최대 최소를 구하고 추가적으로 함수와 포인터, 배열을 사용하여 실무에서 어떻게 구현하는지 설명합니다.

 

자세한 설명은 첨부된 동영상을 참고해주세요.

 

최대,최소구하기 결과

소스 1 : main 함수내에서 처리 예제
#include <stdio.h>

#define MAX_SCORE 5

void main(void)
{     
    int score[MAX_SCORE] = {60,75,90,80,65};
    int max = score[0];
    int min = score[0];
    int total = 0;
    int avr;

    for (int i = 1; i < MAX_SCORE; i++)
    {
        if (max < score[i]){max = score[i];}
        if (min > score[i]){min = score[i];}
        total += score[i];
    }
    avr = total / MAX_SCORE;

    printf("min = %d\n", min);
    printf("max = %d\n", max);
    printf("total = %d\n", total);
    printf("average = %d\n", avr);
}
소스 2 : 함수와 포인터 사용 예제
#include <stdio.h>

#define MAX_SCORE 5

void MinMax(int *src, int *dest, int length)
{
    int max = src[0];
    int min = src[0];
    int total = 0;
    int avr;
    for (int i = 1; i < length; i++)
    {
        if (max < src[i]){max = src[i];}
        if (min > src[i]){min = src[i];}
        total += src[i];
    }
    avr = total / length;
    dest[0] = min;
    dest[1] = max;
    dest[2] = total;
    dest[3] = avr;
}

void main(void)
{
    int ret[4];
    int score[MAX_SCORE] = {60,75,90,80,65};
    char *lable[4] = {"min", "max", "total", "average"};
    MinMax(score, ret, MAX_SCORE);
    for(int i=0; i<4; i++)
    {
        printf("%s = %d\n", lable[i], ret[i]);
    }
}
반응형