[C언어-기초실습-13] 무작위 정수 N개를 입력 받아 최소/최대값 구하기

Words
184
Reading
1 min
7y
Listen to this post
~1 min

[C언어-기초실습-13] 무작위 정수 N개를 입력 받아 최소/최대값 구하기



오늘은 무작위 숫자 N개를 입력 받고 그 숫자 중 최소값과 최대값을 구하는 실습을 하도록 하겠습니다.

1. 문제의 이해


무작위 숫자 N개를 입력 받기 위해서는 루프문이 필요합니다. 정해진 숫자 만큼 값을 읽어 오기 위해서는 scanf문이 필요하겠죠.

for(i=0;i<N;i++){
    scanf("%d",&inputVal[i]);
}

For문을 쓰든 While문이든 루프문을 이용하면 됩니다. 그리고 루프의 순차번호 순으로 배열 변수에 순차적으로 저장하면 됩니다.

이제 데이터를 무자귀 숫자만큼 읽어 올 수 있게 되었습니다.

최소값구하기


최소값은 읽어 온 데이터가 저장된 inputVal[5] 배열 변수에 저장되어 있는데 이 데이터 안에 최소값을 찾기 위해서 For문을 이용했습니다.

minVal=inputVal[0];
for(i=1;i<5;i++){
    if(minVal>inputVal[i]) minVal=inputVal[i];
}

위 코딩철머 첫값은 임시저장변수로 minVal 변수에 저장 하였습니다. minVal 변수에 저장된 값보다 더 작은 값이 inputVal[i] 배열 변수으로 체크하면서 작은 값이 나오면 if문을 통해 체크하게 됩니다. 여기서 반대로 하면 최대값이 되겠죠.

최대값 구하기


For문을 이용하여 최소 값을 구했으니깐 While문을 통해 For문과 유사한 코딩을 표현 할 수 있습니다.

       maxVal=inputVal[0];
    i=1;
    while(i<5){
        if(minVal<inputVal[i]) maxVal=inputVal[i];
        i++;
    }

이렇게 입력 된 배열 변수에 값을 루프문을 통해 최소/최대값을 구할 수 있습니다.

2. 코딩


[전체소스]

#include 
#include 

int main(int argc, char *argv[]) {
    
    int inputVal[5];
    int minVal=0;
    int maxVal=0;
    int i;
    
    printf("무작위 정수 5개를 입력하시오? ");
    for(i=0;i<5;i++){
        scanf("%d",&inputVal[i]);
    }
    
    minVal=inputVal[0];
    for(i=1;i<5;i++){
        if(minVal>inputVal[i]) minVal=inputVal[i];
    }
    maxVal=inputVal[0];
    i=1;
    while(i<5){
        if(minVal<inputVal[i]) maxVal=inputVal[i];
        i++;
    }
    
    //출력
    for(i=0;i<5;i++){
        printf("%d ",inputVal[i]);
    }
    printf("\n");
    
    printf("min : %d \n",minVal);
    printf("max : %d \n",maxVal);
    system("pause");
    return 0;   
}

[결과]
a1.jpg

마무리


최소/최대값을 구하는 코딩을 해 봤네요. 추가로 중간값을 구하는 방법을 직접 해보세요.


Sponsored ( Powered by dclick )

dclick-imagead

[C언어-기초실습-13] 무작위 정수 N개를 입력 받아 최소/최대값 구하기 | Ecency