컴퓨터 수업 과제. 과제 제출기한 종료에 맞추어 공개.

#include <stdio.h>

int main()
{
int i,j=1,k=1,l=1,n,a[19][19];
printf("n<19\?");scanf("%d", &n);
for(i=0;i<n*n;i++)
{
a[j-1][k-1]=i+1;
if(j==l&&k!=n-l+1)k++;
else if(j!=n-l+1&&k==n-l+1)j++;
else if(j==n-l+1&&k!=l)k--;
else j--;
if(j==k&&k==l){l++;j++;k++;};
}
for(j=0;j<n;j++)
{
for(k=0;k<n;k++)
{
printf("%4d", a[j][k]);
}
printf("\n");
}
return 0;
}

출력 결과

미니멀리즘은 진리. 그런데 해 놓은 것을 살펴보니까 좀 더 줄일 수 있을 것 같다. 구문 자체는 변하지 않겠지만.

'Programme' 카테고리의 다른 글

Reversible Computation  (0) 2013.10.29
[C] Entering strings including <space>  (0) 2010.09.11
[C] Conway's Game of Life  (4) 2010.06.25
[C] Pseudorandom number generator  (0) 2010.06.14
Posted by 덱스터

댓글을 달아 주세요


블로그 이미지
A theorist takes on the world
덱스터
Yesterday53
Today10
Total731,381

달력

 « |  » 2022.11
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30

글 보관함