c언어 프로그래밍 과제인데 도와주세요!
[교재문제 3-4] 정수형 변수 no, in, out에 각각 콘솔 출력을 참조하여 초기화한 후, 그 값을 다 음과 같은 형식으로 출력하시오.
인데 제가 하면 저거 000이 안나오네요... 뭐가 문제인지 알려주세요!!!
#include <stdio.h>
int main()
{
int no = 34;
int in = 124;
int out = 512;
printf("%5d%d%-6d \n", no, in, out);
}
이렇게 하면
. 34124512
이렇게 나오네요 000이 안붙어요
- #include <stdio.h> int main(void) { // your code goes here int no = 34; int in = 124; int out = 512; printf("%5d%-6d%06d \n", no, in, out); return 0; }
위 printf 에 적혀있는데로 하시면 됩니다.
출력 시 %d 하면 입력받은 값 그대로 나오지만
%숫자d 를 하면 몇칸부터 0을 채울지를 정합나다.
6자리이므로 %06d의 형태로 출력해보세요
int main()
{
int no = 34;
int in = 124;
int out = 512;
printf("%5d%d%06d \n", no, in, out);
}
%숫자d 대신 앞에 0을붙여주면 남는 자리에 0을 채워줍니다.. 예를 들어 %06d라고 쓰고 해당 출력할 변수에 10진수로 3자리 숫자 123이 들어 있다면 000123과같이 3자리 이외 나머지는0으로 채워주게 되겠지요.
이러한 점을 이해하시고 활용해보셔서 한번 코드를 작성해보시기바랍니다..
올려주신 출력 값을 제대로 출력하기 위해서는
printf("%5d%d%-6d \n", no, in, out);
가 아닌 출력값을 모두 지정해주는 소스로 코딩을 하셔야 올려주신 값과 동일한 출력값을 출력하게 됩니다.
printf("%5d%-6d%06d \n", no, in, out);