본문 바로가기
C언어

[C언어] 달팽이 행렬을 작성하는 프로그램을 작성하시오

by 이얏호이야호 2023. 1. 7.

공부하시는대에 도움이 됐으면 좋겠습니다.

답안코드 확인해주세요!

입출력예시

입출력예시 1

몇행 몇렬의 달팽이 행렬을 만드시겠습니까 ? 5
    1    2    3    4    5
   16   17   18   19    6
   15   24   25   20    7
   14   23   22   21    8
   13   12   11   10    9

입출력예시2

몇행 몇렬의 달팽이 행렬을 만드시겠습니까 ? 10
    1    2    3    4    5    6    7    8    9   10
   36   37   38   39   40   41   42   43   44   11
   35   64   65   66   67   68   69   70   45   12
   34   63   84   85   86   87   88   71   46   13
   33   62   83   96   97   98   89   72   47   14
   32   61   82   95  100   99   90   73   48   15
   31   60   81   94   93   92   91   74   49   16
   30   59   80   79   78   77   76   75   50   17
   29   58   57   56   55   54   53   52   51   18
   28   27   26   25   24   23   22   21   20   19

 

 

 

 

 

 

 

답안코드

 

더보기
#include<stdio.h> 
int main(void)
{
    int arr[100][100]; 
    int size, idx; 
    int s=0, w=-1, inc=1, val=0; 
    printf("몇행 몇렬의 달팽이 행렬을 만드시겠습니까 ? ");
    scanf("%d", &size); 
    idx=size;
    while(1) 
	{
	    //가로그림
        for(int i=0; i<idx;i++)	{
            val++; 
            w=w+inc; 
            arr[s][w]=val;
        }
        idx=idx-1; 

        if(val==size*size) 
	break; 
		//세로그림
        for(int i=0; i<idx; i++){ 
            val++; 
            s=s+inc; 
            arr[s][w]=val; 
        }
        inc=inc*-1;
    }
    //달팽이배열
    for(int i=0; i<size; i++) 	{ 
		for(int j=0; j<size; j++) 
            printf("%5d", arr[i][j]); 
        printf("\n");
    } 
}

 

 

 


더 많은 C코드가 보고 싶다면?

https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4

댓글