책 내용 질문하기
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]의 값이 출력됩니다.

     

    행복한 하루되세요 :)

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.