728x90
#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i,j,n,a[10][10],k=1,p,m;

    do
    {
        printf("input = ");
        scanf("%d",&n);

        if(n==0) return 0;

    }while(n>=10);

    m=n;

    if(n%2==1)
    {
        i=0,j=-1,k=1;
        
        while(1)
        {
            for(p=0;p<n;p++)
            {
                j++;a[i][j]=k++;

            }n--; if(n<1) break;

            for(p=0;p<n;p++)
            {
                i++;a[i][j]=k++;
            }

            for(p=0;p<n;p++)
            {
                j--;a[i][j]=k++;

            }n--; if(n<1) break;

            for(p=0;p<n;p++)
            {
                i--;a[i][j]=k++;
            }
        }
    }

    else
    {
        i=-1,j=0,k=1;

        while(1)
        {
            for(p=0;p<n;p++)
            {
                i++;a[i][j]=k++;

            }n--; if(n<1) break;

            for(p=0;p<n;p++)
            {
                j++;a[i][j]=k++;
            }

            for(p=0;p<n;p++)
            {
                i--;a[i][j]=k++;

            }n--; if(n<1) break;

            for(p=0;p<n;p++)
            {
                j--;a[i][j]=k++;
            }
        }
    }

    for(i=0;i<m;i++)
    {
        for(j=0;j<m;j++)
        {
            printf("%3d",a[i][j]);
        }
        printf("\n");
    }

    return 0;
}

반응형

'전공 공부 > C' 카테고리의 다른 글

숫자 맞추기  (0) 2020.12.27
반복되는 수  (0) 2020.12.27
숫자 찍기(v순서)  (0) 2020.12.27
파스칼  (0) 2020.12.27
숫자 찍기(ㄹ순서)  (0) 2020.12.27
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기