중첩 반복문
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는 그대로 유지되며 루프가 언제 멈출지만 알려 줍니다.
챌린지
쉬움사용자가 제공한 행과 열의 수에 따라 별표(*) 직사각형 패턴을 출력하는 프로그램을 작성하세요.
프로그램은 다음을 수행해야 합니다.
- 사용자로부터 정수 두 개를 읽습니다. 행 수와 열 수입니다.
- 중첩 반복문을 사용하여 별표 직사각형 패턴을 출력합니다. 바깥쪽 반복문은 행을 처리하고 안쪽 반복문은 열을 처리합니다.
- 각 행 뒤에 줄 바꿈을 출력합니다.
예를 들어 입력이 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;
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
직접 연습해 보세요: 온라인 C 컴파일러