책 내용 질문하기
문제해결좀요..
도서
2017 시나공 정보처리기사 실기(산업기사 포함) 특별개정판
페이지
63
조회수
176
작성일
2017-03-08
작성자
첨부파일

첫번째 질문????

float a = 123456789.0e-5f

==> 이게 %6.1f 하면......왜 1234.6 이 나오죠?? %6이면 6칸공간 잡으라는거고.. .1은 소수점 이하 1칸잡으라는것은 알겠는데요...

그러면 1234.5가 나와야 하는거 아닌가요?? 아직이해가 ;

==> 그리고 1.23456789e+03 이 나와야하는거 아닌가요?? 왜 1.234568e+03 이 나오나요?

두번째 질문!!!

page 114 34번문제.. 다음 java(java se7) 언어로 구현된 프로그램을 분석하여 그 실행결과를 쓰시오

public class problem{

....중략..

for(i=1;i<=5;++i,hap+=i)

system.out.printf("합은%d %4d입니다.\n",i,hap);

}

여기서 답이

합은1 0입니다

합은2 2입니다

합은3 5입니다

합은4 9입니다

합은5 14입니다

이렇게 나오는데.....

for(i=1;i<=5;++i,hap+=i)^ ^ 요기부분에 ; 이 표시가 없어서..

이렇게 반복해서 나오는건가요??

만약 for(i=1;i<=5;++i,hap+=i); 이렇게 바꾸면..

합은 6 20입니다

라고 나오는건가요...??

; 이거 차이로??

답변
2017-03-09 09:35:00

안녕하세요.

1)

6.1%는 기본적으로 소수점 자리를 포함하여 6자리를 확보한 상태에서 소수점 자리를 1자리 출력합니다.

그래서 1234.6이 나오며 마지막 6은 반올림된 값입니다.

2)

%e는 지수형식으로 출력하되 소수점 자리수가 지정되지 않으면 기본적으로 소수점 6자리가 출력됩니다.

그래서 1.234568e+03이 표시된 것이고 마지막 8도 반올림이 된 것입니다.

3)

예, 맞습니다. 반복문 옆에 ;을 붙이면 반복문 실행문의 범위가 반복문 뒤의 ;까지로 제한되기 때문에

결과는

합은 6 20입니다.

오늘도 즐거운 하루 되세요.

  • *
    2017-03-09 09:35:00

    안녕하세요.

    1)

    6.1%는 기본적으로 소수점 자리를 포함하여 6자리를 확보한 상태에서 소수점 자리를 1자리 출력합니다.

    그래서 1234.6이 나오며 마지막 6은 반올림된 값입니다.

    2)

    %e는 지수형식으로 출력하되 소수점 자리수가 지정되지 않으면 기본적으로 소수점 6자리가 출력됩니다.

    그래서 1.234568e+03이 표시된 것이고 마지막 8도 반올림이 된 것입니다.

    3)

    예, 맞습니다. 반복문 옆에 ;을 붙이면 반복문 실행문의 범위가 반복문 뒤의 ;까지로 제한되기 때문에

    결과는

    합은 6 20입니다.

    오늘도 즐거운 하루 되세요.

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