책 내용 질문하기
기출 질문
도서
2018 시나공 정보처리기사 실기(산업기사 포함)
페이지
103
조회수
44
작성일
2018-10-03
작성자
탈퇴*원
첨부파일

2017년 6월 3번 문제 질문 합니다.

답 30으로 되어있는데,

a<10인거면

a가 10보다 작은 것만 계산 되서 20이 되야 하는 거 아닌가 궁금해서요..

조건이 a가 크거나 같아야 답이 30이 되는거 아닌지 궁금합니다.

답변
2018-10-04 14:19:50

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

이 경우, a가 9인 경우를 디버깅 해보면 알 수 있습니다.

while(a<10) a가 9인 경우 안의 코드를 수행합니다.

{

a++; a가 10이됩니다.

if(a%2==1) 10%2는 0이므로 다음 문장을 수행하지 않습니다.

continue;

sum += a; sum에 10을 더합니다.

}

즉 a가 10인 경우까지 sum에 더한 후 while(a<10)을 판별하기 때문에, 20에 10이 더해진 30이 출력됩니다.

행복한 하루되세요.^^

  • *
    2018-10-04 14:19:50

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

    이 경우, a가 9인 경우를 디버깅 해보면 알 수 있습니다.

    while(a<10) a가 9인 경우 안의 코드를 수행합니다.

    {

    a++; a가 10이됩니다.

    if(a%2==1) 10%2는 0이므로 다음 문장을 수행하지 않습니다.

    continue;

    sum += a; sum에 10을 더합니다.

    }

    즉 a가 10인 경우까지 sum에 더한 후 while(a<10)을 판별하기 때문에, 20에 10이 더해진 30이 출력됩니다.

    행복한 하루되세요.^^

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