오늘 오전 6시 쯤에 완성한 달팽이 배열.
없던 머리를 마구 쓰려고 하느라 힘들었음 ㅠ

#include <stdio.h>

int main()
{
       int i,j,n,tmp;
       while(1){
              printf(\"\\n입력 : \");
              scanf(\"%d\",&n);
              for( i = 1; i <= n; i++ ) printf(\"%3d \",i);puts(\"\");

              for( i = 1; i < n; i++ ){
                     tmp = ((n/2+1)+(((i-(n/2+1))*((((i-(n/2+1))&0x80000000)>>31)*2-1))))-((i/(n/2+1))*((n-1)%2));
                     for( j = 1; j < tmp; j++ )
                            printf(\"%3d \",(n-j)*4*j-(i-j));
                     for( j = i-1; j < n-i; j++ )
                            printf(\"%3d \",(n-i)*4*i+(j-i+1));
                     tmp = (i/(n/2+1))*(((i+1)%(n/2+1))*2-(n%2));
                     for( j = 1; j <= tmp; j++ )
                            printf(\"%3d \",(((n/2-1)*(3+2*(n/2-2))+((n/2-2+(n%2))*(3+2*(n/2-2-!(n%2)))+(10*((n/2-!(n%2))))))-4-(j-1))-(((14-((n%2)*4))*(i-(n/2+1)))*((i-1)/(n/2+1)))-(8*(((i%(n/2+2))*((i%(n/2+2))+1))/2)*(i/(n/2+2))));
                     tmp = (((n+1)/2+1)+((((i+1)-((n+1)/2+1))*(((((i+1)-((n+1)/2+1))&0x80000000)>>31)*2-1))))-(((i+1)/((n+1)/2+1))*(n%2));
                     for( j = 1; j < tmp; j++ )
                            printf(\"%3d \",n+j+(tmp-1-j)*(4*(n-tmp+j)+2)+(((i-1)/(n/2))*(((n%2+i)%(n/2+(n%2)))*2))-(((i-1)/(n/2))*(n%2)));
                     puts(\"\");
              }
       }
       return 0;
}



잘 작동함.