Menu
CoddyTech

중첩 반복문

Coddy C 여정의 기초 섹션에 포함된 레슨. 63개 중 43번째.

중첩 루프는 다른 루프 안에 배치된 루프입니다. 바깥쪽 루프가 반복될 때마다 안쪽 루프가 완전히 실행됩니다.

3번 실행되는 외부 루프를 만드세요:

for (int i = 0; i < 2; i++) {
    // 여기에 바깥쪽 루프 코드를 작성하세요
}

각 바깥쪽 루프 반복마다 3번 실행되는 안쪽 루프를 추가하세요:

int rows = 2;
int cols = 3;
for (int i = 0; i < rows; i++) {
    for (int j = 0; j < cols; j++) {
        printf("%d,%d ", i, j);
    }
    printf("\n");
}

출력은 다음과 같습니다:

0,0 0,1 0,2 
1,0 1,1 1,2 

내부 루프가 반복을 모두 마친 후에야 외부 루프가 다음 반복으로 넘어가는 것을 확인하세요. 각 루프에는 자체 카운터가 있습니다. 외부 루프가 실행될 때마다 j는 0부터 다시 시작하지만, rows와 cols는 그대로 유지되며 루프가 언제 멈출지만 알려 줍니다.

challenge icon

챌린지

쉬움

사용자가 제공한 행과 열의 수에 따라 별표(*) 직사각형 패턴을 출력하는 프로그램을 작성하세요.

프로그램은 다음을 수행해야 합니다.

  1. 사용자로부터 정수 두 개를 읽습니다. 행 수와 열 수입니다.
  2. 중첩 반복문을 사용하여 별표 직사각형 패턴을 출력합니다. 바깥쪽 반복문은 행을 처리하고 안쪽 반복문은 열을 처리합니다.
  3. 각 행 뒤에 줄 바꿈을 출력합니다.

예를 들어 입력이 3행 4열이면 출력은 다음과 같아야 합니다.

**** 
**** 
****

각 반복문에 새 카운터를 사용하고(예를 들어 행에는 i를, 한 행의 별표에는 j를 사용) 이를 rows 또는 columns와 비교하세요. rows와 columns 자체는 변경하지 마세요. 각 행에서 columns만큼 다시 출력해야 합니다.

직접 해보기

#include <stdio.h>

int main() {
    int rows, columns;
    scanf("%d", &rows);
    scanf("%d", &columns);
    
    // 패턴을 출력하는 코드를 여기에 작성하세요
    
    return 0;
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 C 컴파일러