jhnyang   5년 전

안녕하세요 

문제 1008번에서 A/B 즉 1/3번 문제요

C printf로 %.9까지 지정해주면 0.333333333가 나오고 답으로 잘 제출이 되는데 

왜 C++ setprecision(9)을 사용했을 경우 또한 똑같이  0.333333333으로 같은 값이 나오는데 문제 답이 틀렸다고 나올까요? ㅜㅜ

setprecision(10)하면 맞았다고 나오긴 하는데 ㅠ 애초에 setprecision이 소숫점 자릿수 지정해주는 역할로 알고 있는데 어디서 오류가 일어난건지 생각해도 모르겠습니다 ㅠ 

printf했을 때랑 setprecision썼을때랑 결과값을 같은데 왜 채점결과는 다른지 궁금합니다 ㅠㅠㅠ

두 함수 사이에 큰 차이점이 있나요/?

부탁드려요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ

jung2381187   5년 전

setprecision은 유효숫자 개수를 정해줍니다. 예를 들어 setprecision(5)라고 하면 1/3은 0.33333, 5/2는 2.5000, 100/1은 100.00입니다. 만약 소수점 아래 몇 자리를 원하신다면

std::cout.setprecision(9);

std::cout << std::fixed << (출력할 수)

를 쓰시면 됩니다.

jhnyang   5년 전

헐 ㅠㅠ fixed때문이었구나 감사합니다 생각도못했네요 ㅎㅎ

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