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

C 언어로 나선형 패턴 숫자 출력하기: 핵심 로직과 전체 코드

나선형 패턴이란?

나선형(spiral) 패턴은 숫자를 두 개의 열에 배치하면서 행마다 출력 방향을 번갈아 바꿔 지그재그 형태로 만드는 출력 기법입니다. 첫 번째 행은 왼쪽에서 오른쪽으로(1, 2), 두 번째 행은 오른쪽에서 왼쪽으로(4, 3) 숫자를 배치하는 방식으로 진행됩니다.

프로그램 실행 결과로 만들어지는 나선형 패턴은 아래와 같습니다.

C 언어로 나선형 패턴 숫자 출력하기: 핵심 로직과 전체 코드

출력 로직

숫자를 나선형 패턴으로 출력하기 위해 적용되는 핵심 로직은 다음과 같습니다.

  • 반복 변수 i는 1부터 시작해 2씩 증가하며 rows*2까지 반복합니다.
  • 변수 k는 현재 행의 번호 역할을 하며, 홀수·짝수 여부에 따라 출력 순서를 결정합니다.
  • k가 홀수이면 i, i+1 순서로, 짝수이면 i+1, i 순서로 출력합니다.
  • %3d 서식 지정자를 사용해 각 숫자를 3칸 너비로 오른쪽 정렬합니다.
for(i=1;i<=rows*2;i+=2){
    if(k%2==1){
        printf("%3d %3d",i,i+1);
        k++;
    }else{
        printf("%3d %3d",i+1,i);
        k++;
    }
    printf(" ");
}

전체 C 프로그램 코드

다음은 사용자로부터 행(row) 개수를 입력받아 숫자를 나선형 패턴으로 출력하는 C 프로그램입니다.

#include<stdio.h>
int main(){
    int i,rows,k=1;
    printf("Enter number of Rows for Spiral Pattern ");
    scanf("%d",&rows);
    for(i=1;i<=rows*2;i+=2){
        if(k%2==1){
            printf("%3d %3d",i,i+1);
            k++;
        }else{
            printf("%3d %3d",i+1,i);
            k++;
        }
        printf(" ");
    }
    return 0;
}

참고: 표준 C 규격에서는 main() 함수를 int main()으로 선언하고 마지막에 return 0;을 추가하는 것이 권장됩니다.

실행 결과

위 프로그램을 컴파일해 실행한 뒤 행 개수로 10을 입력하면 다음과 같은 결과가 출력됩니다.

Enter number of Rows for Spiral Pattern
10
  1   2
  4   3
  5   6
  8   7
  9  10
 12  11
 13  14
 16  15
 17  18
 20  19

동작 원리 정리

행 개수를 10으로 입력하면 반복문은 i = 1, 3, 5, ..., 19까지 총 10번 실행됩니다. 각 반복에서 연속된 두 숫자(ii+1)를 한 행에 출력하며, k 값의 홀짝성에 따라 순서를 뒤집기 때문에 인접한 행 사이에서 숫자가 교차하는 나선 모양이 자연스럽게 완성됩니다.