2108번 - 통계학
문제와 관련된 질문은 아니지만 저 문제 풀다가 생긴 의문이라 2108로 등록했습니다
pritnf( "%d" , ( ( sum / n ) + 0.5 ) ) ; - a
printf( "%d" , ( sum / n ) ) ; - b
sum / n 을 반올림해서 출력하라는 의미로 a의 코드를 짰는데
b는 정상적으로 출력되지만, a는 무조건 0이 출력됩니다.
왜 그런건가요?
제가 알고 있는건
int 형은 정수형이고 소숫점은 무조건 버린다
그래서 +0.5를 하면 소수 한자리에서 반올림된다. 정도 알고 있습니다.
%d는 정수만 입력 받을 수 있고, 0.5더한 값은 실수라서 %d가 입력을 못받아 0으로 나오는거 같습니다.
출력때 저렇습니다.
감사합니다 (int)붙여줬을때 정상적으로 출력나오네요 ㅎㅎ
댓글을 작성하려면 로그인해야 합니다.
wjs505 1년 전
문제와 관련된 질문은 아니지만 저 문제 풀다가 생긴 의문이라 2108로 등록했습니다
pritnf( "%d" , ( ( sum / n ) + 0.5 ) ) ; - a
printf( "%d" , ( sum / n ) ) ; - b
sum / n 을 반올림해서 출력하라는 의미로 a의 코드를 짰는데
b는 정상적으로 출력되지만, a는 무조건 0이 출력됩니다.
왜 그런건가요?
제가 알고 있는건
int 형은 정수형이고 소숫점은 무조건 버린다
그래서 +0.5를 하면 소수 한자리에서 반올림된다. 정도 알고 있습니다.