본문 바로가기

C

달팽이소스

신선한 충격을 먹었던 소스...ㅋ

 

  #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;
}

'C' 카테고리의 다른 글

오답노트  (0) 2011.01.22
한줄 스왑 코드  (0) 2011.01.22
주석 처리 조건문  (0) 2011.01.22
배열 일정간격으로 나누어서 출력  (0) 2011.01.22
문자열 입력  (0) 2011.01.22