Computer >> 컴퓨터 >  >> 프로그래밍 >> C 프로그래밍

C 언어로 속이 빈 직사각형 별(*) 패턴 출력하기

이 글에서는 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입니다. 이 조건은 현재 좌표가 직사각형의 테두리에 해당하는 경우에만 참이 되므로, 테두리에는 별이 찍히고 내부에는 공백이 출력되어 속이 빈 직사각형 모양이 완성됩니다.