출력 포맷 관련 질문

dowoon7280 Reply 4 years 34 weeks ago
Print Format 문제에서, 문자열 s 뒤에 공백 붙여 10글자: %-10s n이 세 자리 수 이하면 n 앞에 0을 붙여 3자리로 만들어서 출력하고 아니면 n을 그대로 출력한다: %03d r 소수점 셋째자리에서 반올림한 값을 출력한다: %.2f 저는 이렇게 문제를 해석해서 해결했는데 WA가 떠서 혹시 문제해결 방법에 문제가 있는 것인지 궁금해서 질문드립니다.
withcs2 Reply 4 years 34 weeks ago
나중에 자료형 시간에 배우겠지만 #include <stdio.h> int main() { float a=-0.005, b=-0.555, c=-0.5555; double aa=-0.005, bb=-0.555, cc=-0.5555; printf("%.2f %.2f %.2f\n",a,b,c); printf("%.2lf %.2lf %.2lf",aa,bb,cc); } 위의 코드를 실행시켜보면 float의 반올림 값이 정확하지 않은 것을 볼 수 있습니다. double이라고 명시하지 않은 제 잘못이네요 죄송합니다 ㅜㅜ float과 double의 결과가 같도록 소수점 셋째자리가 5인 테스트데이터는 제외해두겠습니다 감사합니다
dowoon7280 Reply 4 years 34 weeks ago
감사합니다. 문제에서 test case의 범위를 보니 -2000 부터 2000 까지의 숫자가 입력되는데 그럼 음수인 경우에도 3자리 만들기를 처리해 주어야 하는 것인가요? 이 부분에 대한 규칙이 궁금합니다.
dowoon7280 Reply 4 years 34 weeks ago
문제 해결했습니다. 감사합니다.