#include<stdio.h>
int main()
{
int i=0,j=0; // 출력 배열의 인덱스
int n,m; // 사용자로 부터 받을 정수
int num=1; // 배열에 입력할 수
int x=0,y=-1,turn=1; // 배열의 가로, 세로 좌표와 크기조절 변수
int arr[20][20]; // 배열의 임시크기 지정
printf("정수를 입력 : "); // 정수 입력 받는다.
scanf("%d",&n);
m=n; // 나중 배열 출력을 위해서 입력값을 복사
while(n!=0) // 입력한 수가 0이 될때까지 1감소하면서 돌림
{
for(i=0;i<n;i++)
{
y+=turn; // 열 증가하면서 값입력
arr[x][y]=num;
num++;
}
n--; // 입력개수 줄이기
for(i=0;i<n;i++)
{
x+=turn; // 행 증가하면서 값입력
arr[x][y]=num;
num++;
}
turn*=-1; // 증가값을 감소 시켜서 배열 이동방향 바꾸기
}
for(i=0;i<m;i++){ // 결과 출력
for(j=0;j<m;j++)
printf("%3d",arr[i][j]);
printf("\n");
}
return 0;
}