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

출력 로직
숫자를 나선형 패턴으로 출력하기 위해 적용되는 핵심 로직은 다음과 같습니다.
- 반복 변수 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번 실행됩니다. 각 반복에서 연속된 두 숫자(i와 i+1)를 한 행에 출력하며, k 값의 홀짝성에 따라 순서를 뒤집기 때문에 인접한 행 사이에서 숫자가 교차하는 나선 모양이 자연스럽게 완성됩니다.