C언어/주차별 문제

[6주차] 최댓값, 최솟값

슈슈버거 2023. 4. 23. 01:19

문제


내가 작성한 코드

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>

int main() {
    int num[9]; //9개의 자연수 저장받을 int형 배열

    for(int i = 0; i<9; i++){
        scanf("%d", &num[i]); //차례대로 저장
    }

    int max = 0; //최댓값 저장 변수
    int min = 101; //최솟값 저장 변수

    int max_index = 10; //최댓값의 index
    int min_index = 10; //최솟값의 index

    int *ptr; //포인터

    ptr = &num[0]; //포인터에 num 연결

    for(int i = 0; i<9; i++){
        int x = *(ptr+i); //ptr+i의 값 저장

        if(x>=max){ //최댓값일 경우
            max = x; //최댓값 갱신
            max_index = i+1; //인덱스 갱신
        }
        
        if(x<=min){ //최솟값일 경우
            min = x; //최솟값 갱신
            min_index = i+1; //인덱스 갱신
        }
    }

    printf("%d\n%d\n%d\n%d\n", max, max_index, min, min_index); //차례대로 출력
    return 0;
}