더북(TheBook)

별표 1개부터 시작해 줄별로 1개씩 증가하면서 총 5줄을 출력합니다. 구구단에서 단을 첫 번째 반복문의 조건으로 넣은 것처럼 여기서는 첫 번째 반복문에서 줄 수만큼 반복하도록 for 문을 작성합니다. 따라서 5번 반복하면 됩니다. 이때 한 가지 주의할 점은 앞에서는 i를 1부터 시작하게 선언했는데, 여기서는 0부터 시작하도록 선언한다는 점입니다. 5번 반복해야 하니 조건은 i가 5보다 작을 때까지로 합니다. 이렇게 하면 for 문은 i가 0부터 4가 될 때까지 총 5번을 반복합니다.

두 번째 반복문에서는 줄 번호만큼 별표를 출력하도록 for 문을 작성합니다. 줄 번호는 구구단의 단에 해당하므로 첫 번째 반복문의 i와 같습니다. 따라서 두 번째 반복문은 첫 번째 반복문의 i만큼 반복하며 별표를 출력하면 됩니다. 이때 j는 첫 번째 반복문과 마찬가지로 0부터 시작하고 조건은 ji보다 작거나 같을 때까지로 넣습니다. 그리고 실행할 문장에는 별표 하나를 출력하는 printf() 문을 작성합니다.

이중 반복문이 어떻게 동작하는지 ij 값을 넣어 생각해 볼까요? i가 0일 때 j도 0입니다. 그리고 ji보다 작거나 같을 때 별표를 한 번 출력하죠. 그리고 j++를 하면 j가 1이 되어 i보다 크게 됩니다. 따라서 문장을 수행하지 않고 빠져나갑니다. 다시 첫 번째 반복문으로 돌아가서 i++를 하면 i는 1이 됩니다. 그리고 두 번째 반복문으로 가서 이번에 j는 0일 때 한 번, 1일 때 한 번, 총 두 번을 출력하고 빠져나갑니다. 다시 i가 2가 됐을 때는 j는 0, 1, 2, 세 번을 출력하고 빠져나가고 이를 i가 4일 때까지 반복합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.