책 내용 질문하기
2020 정보처리기사 실기 1권 p71,185 문제 4번 결과 관련
도서
2020 시나공 정보처리기사 실기 [기본서]
페이지
71,185
조회수
198
작성일
2020-10-06
작성자
탈퇴*원
첨부파일

문제 4. 다음 Java로 구현된 프로그램을 분석하여 그 실행 결과를 쓰시오.

라고 작성 되어있는데 아무리 실행 결과를 분석해보고 java프로그램으로 돌려봐도

결과는 마지막 값이 10, 55로 리턴됩니다.

문제의 의도가 반복문의 i의 최종값 11과 hap의 최종값 55를 구하는 건지, 전체 프로그램 결과인 system.out.println의 i와 hap의 값을 구하는 건지 헷갈려서 문의드립니다.

11,55가 맞는건가요??

 

풀이 결과 첨부합니다.

 

public class Problem {

public static void main(String[] args) {

int i, hap = 0;

for(i=1;i<=10;++i) {

hap+=i;

System.out.printf("%d, %d\n", i, hap);

}

}

}


1, 1

2, 3

3, 6

4, 10

5, 15

6, 21

7, 28

8, 36

9, 45

10, 55

 

 

답변
2020-10-07 10:14:07

안녕하세요 길벗수험서 운영팀입니다.

 

코드를 잘못 이해하셨습니다.

 

printf문은 for문에 포함되지 않습니다.

 

for문이 수행하는 것은 hap+= i; 일 뿐, for문의 반복이 모두 종료된 이후에 i와 hap의 최종값이 출력되는 형태입니다.

 

i는 for문을 벗어날 때, 증가값(++i)을 수행하고 조건식(i<=10)에서 거짓(false)이 되며 빠져나가므로 11의 값을 갖게 됩니다.

 

행복한 하루되세요 :)

  • 관리자
    2020-10-07 10:14:07

    안녕하세요 길벗수험서 운영팀입니다.

     

    코드를 잘못 이해하셨습니다.

     

    printf문은 for문에 포함되지 않습니다.

     

    for문이 수행하는 것은 hap+= i; 일 뿐, for문의 반복이 모두 종료된 이후에 i와 hap의 최종값이 출력되는 형태입니다.

     

    i는 for문을 벗어날 때, 증가값(++i)을 수행하고 조건식(i<=10)에서 거짓(false)이 되며 빠져나가므로 11의 값을 갖게 됩니다.

     

    행복한 하루되세요 :)

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