책 내용 질문하기
1권 p137 문제 55번
도서
2019 시나공 정보처리기사 실기(산업기사포함)
페이지
137,55
조회수
115
작성일
2019-05-28
작성자
탈퇴*원
첨부파일
이해가 가지않는게
int a[] = {10, 30, 50, 70 ,90}
min = a[0]
(현재 min은 10)
for(i=0; i<5; i++) {
if(a[i] < min)
min = a[i];
}
여기서 문제인데요
a[i]가 0 즉, 10이면
if(10 < 10)
min = a[i];
어떻게 min에 값이 들어가죠? 배열에 나타난 숫자들은10보다 큰 값들인데
if(a[i] <= min) 가 되어야 min에 10이 들어가는거 아닌가요?
이해가 안갑니다
답변
2019-05-29 10:19:20
안녕하세요 길벗수험서 운영팀입니다.
... 질문의 의도를 이해하지 못했습니다.
회원님이 질문하신 글 4번째 줄에서 이미 말씀하신 바와 같이 min=a[0]을 통해 min에는 이미 10이 들어가 있습니다.
때문에 가장 작은 값이 이미 초기에 들어가 버려서 뒤의 반복문(for)을 통해 회전을 하더라도 min의 값이 변경되는 일이 없죠.
때문에 마지막 min의 출력은 초기에 설정한 a[0]의 값이 출력됩니다.
행복한 하루되세요 :)
-
관리자2019-05-29 10:19:20
안녕하세요 길벗수험서 운영팀입니다.
... 질문의 의도를 이해하지 못했습니다.
회원님이 질문하신 글 4번째 줄에서 이미 말씀하신 바와 같이 min=a[0]을 통해 min에는 이미 10이 들어가 있습니다.
때문에 가장 작은 값이 이미 초기에 들어가 버려서 뒤의 반복문(for)을 통해 회전을 하더라도 min의 값이 변경되는 일이 없죠.
때문에 마지막 min의 출력은 초기에 설정한 a[0]의 값이 출력됩니다.
행복한 하루되세요 :)