중첩 반복문
Coddy C 여정의 Fundamentals 섹션에 포함된 레슨 — 63개 중 43번째.
중첩 루프는 다른 루프 안에 위치한 루프입니다. 외부 루프가 한 번 반복될 때마다 내부 루프는 전체가 실행됩니다.
3번 실행되는 외부 루프를 만듭니다:
for (int i = 0; i < 3; i++) {
// 여기에 외부 루프 코드를 작성합니다
}외부 루프의 각 반복마다 2번씩 실행되는 내부 루프를 추가합니다:
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}출력은 다음과 같습니다:
0,0 0,1 0,2
1,0 1,1 1,2 외부 루프가 다음 반복으로 넘어가기 전에 내부 루프가 반복을 완료하는 방식에 주목하세요.
챌린지
쉬움사용자가 입력한 행(rows)과 열(columns)의 수를 바탕으로 별표(*) 사각형 패턴을 출력하는 프로그램을 작성하세요.
프로그램은 다음을 수행해야 합니다:
- 사용자로부터 두 개의 정수 rows와 columns를 입력받습니다.
- 중첩 루프를 사용하여 별표 사각형 패턴을 출력합니다. 이때 바깥쪽 루프는 행을 처리하고 안쪽 루프는 열을 처리합니다.
- 각 행이 끝날 때마다 줄바꿈을 출력합니다.
예를 들어, 입력이 3행 4열인 경우 출력은 다음과 같아야 합니다:
****
****
****치트 시트
중첩 루프는 다른 루프 안에 위치한 루프입니다. 바깥쪽 루프가 한 번 반복될 때마다 안쪽 루프는 전체 횟수만큼 실행됩니다.
기본적인 중첩 루프 구조:
for (int i = 0; i < outer_limit; i++) {
for (int j = 0; j < inner_limit; j++) {
// 안쪽 루프 코드
}
// 바깥쪽 루프 코드
}출력 예시:
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%d,%d ", i, j);
}
printf("\n");
}출력:
0,0 0,1 0,2
1,0 1,1 1,2안쪽 루프는 바깥쪽 루프가 다음 반복으로 넘어가기 전에 모든 반복을 완료합니다.
직접 해보기
#include <stdio.h>
int main() {
int rows, columns;
scanf("%d", &rows);
scanf("%d", &columns);
// 여기에 패턴을 출력하는 코드를 작성하세요
return 0;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.