freeg   5년 전

20까지 테스트로 넣어봤는데 다 맞는답이 나왔습니다

어디가 문제인건가요?

djm03178   5년 전

float는 너무 부정확해서 아무리 범위가 작아도 위험합니다. 앞으로도 float는 절대 쓸 일이 없을 겁니다.

오차를 허용하지 않는다면 웬만하면 무조건 정수형으로만 풀어야 한다고 생각하시는 것이 좋습니다.

eric00513   5년 전

float은 오차가 너무 커서 소수 10자리 이상 출력하면 틀리는 경우가 많습니다. 

차라리 더 오차가 적은 double형 변수를 사용하는 것을 추천합니다. 그리고 double형 변수를 입력/출력 할때는 %f가 아닌 %lf를 사용하셔야 합니다. double형 변수를 선언할 때는 float변수와 같습니다.

예시: (정수를 입력 받아 3으로 나눈 값을 소수 5째 자리까지 반올림하여 출력하는 프로그램)

freeg   5년 전

float,double 자료형 문제가 아니라 부동소수점 오류때문에 생긴 문제였네요

결국 float 쓴 상태로 그냥 고쳤습니다

eric00513   5년 전

아.. 그랬군요. float변수도 사용해도 좋은데, 저는double형 변수를 추천합니다.

댓글을 작성하려면 로그인해야 합니다.