안녕하세요 길벗수험서 운영팀입니다.
[1]
프로그래밍 언어의 표기 한계 때문입니다.
한 번 생각해보시기 바랍니다.
j가 l에서 m이 될 때 까지라는 것은 해당 알고리즘에서 l과 m의 크기가 서로 계속 바뀌게 됩니다.( l=1,m=5 / l=5,m=1)
만약 순서도에서와 같이
for(j=l, j<=m, j+=n) 으로 표현한다면, l이 1이고 m이 5일 때에는 정상적으로 수행되지만
l이 5이고 m이 1일 때에는 for문은 수행되지도 못하고 건너 뛰게 됩니다.
이를 방지하기 위해 해당 식을 사용하게 되었습니다.
[2]
네, 맞습니다.
중복된 for문의 경우 각 for문의 반복 범위를 확실히 파악해두세요.
일반적으로 중괄호{}, 띄어쓰기 등으로 구분되어 있습니다.
6번 for문의 반복 범위는 7~13이고,
7번 for문의 반복 범위는 8~9입니다.
[3]
3자리를 확보하여 우측부터 출력합니다.
%3d로 9를 출력한다고 가정했을 때, (ㅁ는 공백입니다.)
ㅁㅁ9
이렇게 출력되는거죠.
만약 1, 2, 3을 모두 %3d로 출력하게 되면
ㅁㅁ1ㅁㅁ2ㅁㅁ3
이렇게 됩니다.
출력에서 자리수를 넘어가는 경우 확보 자리수를 무시하고 모두 출력된다는 점 잊지마세요.
printf("%3d", 123456);
출력 : 123456
행복한 하루되세요 :)
-
관리자2019-04-04 11:45:56
안녕하세요 길벗수험서 운영팀입니다.
[1]
프로그래밍 언어의 표기 한계 때문입니다.
한 번 생각해보시기 바랍니다.
j가 l에서 m이 될 때 까지라는 것은 해당 알고리즘에서 l과 m의 크기가 서로 계속 바뀌게 됩니다.( l=1,m=5 / l=5,m=1)
만약 순서도에서와 같이
for(j=l, j<=m, j+=n) 으로 표현한다면, l이 1이고 m이 5일 때에는 정상적으로 수행되지만
l이 5이고 m이 1일 때에는 for문은 수행되지도 못하고 건너 뛰게 됩니다.
이를 방지하기 위해 해당 식을 사용하게 되었습니다.
[2]
네, 맞습니다.
중복된 for문의 경우 각 for문의 반복 범위를 확실히 파악해두세요.
일반적으로 중괄호{}, 띄어쓰기 등으로 구분되어 있습니다.
6번 for문의 반복 범위는 7~13이고,
7번 for문의 반복 범위는 8~9입니다.
[3]
3자리를 확보하여 우측부터 출력합니다.
%3d로 9를 출력한다고 가정했을 때, (ㅁ는 공백입니다.)
ㅁㅁ9
이렇게 출력되는거죠.
만약 1, 2, 3을 모두 %3d로 출력하게 되면
ㅁㅁ1ㅁㅁ2ㅁㅁ3
이렇게 됩니다.
출력에서 자리수를 넘어가는 경우 확보 자리수를 무시하고 모두 출력된다는 점 잊지마세요.
printf("%3d", 123456);
출력 : 123456
행복한 하루되세요 :)