이 글에서는 C 프로그래밍 언어에서 for 반복문을 사용하여 속이 빈 직사각형 별(*) 패턴을 출력하는 방법을 알아봅니다.
아래 예시를 통해 살펴보겠습니다.
입력 예시
Enter number of rows: 5
출력 결과
***** * * * * * * *****
알고리즘
for 반복문으로 속이 빈 직사각형 별 패턴을 출력하는 과정은 다음과 같은 단계로 구성됩니다.
1단계 − 실행 시점에 출력할 행(row)의 개수를 입력받습니다.
2단계 − 행을 처리하기 위해 1부터 N까지 반복하는 외부 for 루프를 사용합니다.
for(i=1; i<=N; i++)
3단계 − 열(column)을 처리하기 위해 1부터 N까지 반복하는 내부 루프를 실행합니다.
for(j=1; j<=N; j++)
4단계 − 내부 루프 안에서 현재 위치가 첫 번째 행, 마지막 행, 첫 번째 열, 마지막 열 중 하나에 해당하면 별(*)을 출력합니다.
그 외의 경우에는 공백을 출력합니다.
5단계 − 한 행의 모든 열 출력이 끝나면 줄바꿈을 하여 다음 행으로 이동합니다.
C 프로그램 코드
다음은 for 반복문을 사용하여 속이 빈 직사각형 별 패턴을 출력하는 C 프로그램입니다.
#include <stdio.h>
int main(){
int i, j, N;
printf("Enter number of rows: ");
scanf("%d", &N);
for(i=1; i<=N; i++) {
for(j=1; j<=N; j++){
if(i==1 || i==N || j==1 || j==N){
printf("*");
}
else{
printf(" ");
}
}
printf("\n");
}
return 0;
}실행 결과
위 프로그램을 실행하면 다음과 같은 결과가 출력됩니다.
Enter number of rows: 6 ****** * * * * * * * * ******
핵심 로직은 조건문 i==1 || i==N || j==1 || j==N입니다. 이 조건은 현재 좌표가 직사각형의 테두리에 해당하는 경우에만 참이 되므로, 테두리에는 별이 찍히고 내부에는 공백이 출력되어 속이 빈 직사각형 모양이 완성됩니다.