반응형
문제
사용자에게 입력받은 배열의 최대/최솟값 출력
실행화면

코드
#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 |