반응형
문제
사용자에게 입력받은 배열의 최대/최솟값 출력
실행화면
코드
#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문 이전에 적어주었더니 오류가 해결되었다.
반응형
'프로그래밍 > C | C++' 카테고리의 다른 글
[c언어]3/6/9게임 출력 프로그램 (두가지 방법) (0) | 2020.11.09 |
---|---|
[c언어] 약수 출력 프로그램(for문 사용) (0) | 2020.11.09 |
[c언어]입력받은 수만큼 숫자가 증가하는 프로그램(이중for문) (0) | 2020.11.09 |
[c언어]배열: 입력받은 숫자를 거꾸로 출력 (0) | 2020.11.09 |
[c언어]배열: 짝수의 개수 출력 (0) | 2020.11.09 |