본문 바로가기
프로그래밍/C | C++

[c언어]배열: 최대/최솟값 출력

by 청량리 물냉면 2020. 11. 9.
반응형
문제

사용자에게 입력받은 배열의 최대/최솟값 출력

 

실행화면

 

코드
#include <stdio.h>

int main() {

	int arr[1000];
	int num;

	printf("입력할 숫자의 개수를 입력하세요: ");
	scanf_s("%d", &num);

	printf("%d개의 숫자를 입력해주세요.: ", num);

	for (int i = 0; i < num; i++) {

		scanf_s("%d", &arr[i]);
	
	}

	int max = arr[0]; //첫번째 배열값으로 초기화
    int min = arr[0]; 

	for (int j = 0; j < num; j++) {

		if (max <= arr[j]) //arr[0]보다 크거나 같으면 그 값을 max에 대입
			max = arr[j];

		if (min >= arr[j]) //arr[0]보다 작거나 같으면 그 값을 min에 대입
			min = arr[j];
	}

	printf("최댓값: %d\n최솟값: %d", max, min);

}

 

코드 설명

 

마무리

 

최대 최소 오랜만에 하니 헷갈린다.

min과 min 초기화하는 위치를 for문 안에 잡아버려서 오류가 났다. 이렇게 코드를 짜면 for문이 시작할 때마다 변수값이 arr[0]으로 초기화 되버리므로 오류가 난다. 해결책으로 초기화 코드를 for문 이전에 적어주었더니 오류가 해결되었다.


 

 

반응형