반응형
<C언어로 달팽이 배열 만들기>
사용자로부터 하나의 숫자 n을 입력받아서 n*n의 달팽이 배열을 출력해 주는 프로그램을 작성해보자.
아래 알고리즘을 작성해두었습니다..
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | #include <stdio.h> int main() { int e=0; int n=0; int i=1; int j=0; int p=0; int s=1; int arr[20][20]={0}; int a=0; //입력받은 숫자 printf("숫자입력:"); scanf("%d",&a); e=a; while(a>0) { for (p=1;p<=a;p++) { n=n+1; j=j+s; arr[i][j]=n; } a=a-1; if(a>0) { for(p=1;p<=a;p++) { n=n+1; i=i+s; arr[i][j]=n; } } s=s*(-1); } for(i=1; i<=e; i++) { for(j=1; j<=e; j++) { printf("%d",arr[i][j]); } printf("\n"); } } | cs |
1회전 : (1,1) (1,2) (1,3) (1,4) (1,5)
2회전 : (2.5) (3.5) (4.5) (5.5)
3회전 : (5.4) (5.3) (5.2) (5.1)
4회전 : (4.1) (3.1) (2.1)
5회전 : (2.2) (2.3) (2.4)
6회전 : (3.4) (4.4)
7회전 : (4.3) (4.2)
8회전 : (3.2)
9회전 : (3.3)
(아래사진은 달팽이 알고리즘 입니다.(5.5)크기의 달팽이 알고리즘)
반응형
'c언어 > c언어 (문제풀기)' 카테고리의 다른 글
2_4 c언어 난수이용해 주사위 만들기 (1) | 2017.08.25 |
---|---|
2_3난수 생성(0~99사이의 숫자) (0) | 2017.08.25 |
2-1. 2차원 배열 90도씩 이동시켜 출력하기 (0) | 2017.08.23 |
c언어로 버블정렬 내림차순으로 정렬하기(파일입출력) (0) | 2017.08.13 |
c언어 배열과 while문을 이용하여 회문을 판단하는 프로그램 (0) | 2017.08.12 |