imported>jediweon |
imported>asd123 |
| Line 24: |
Line 24: |
|
| |
|
| === 임기찬 === | | === 임기찬 === |
| #include <stdio.h>
| | |
|
| | |
| void draw(int n, int arr[][11]); //arr 배열에 n x n 달팽이 모양 입력하는 함수
| |
| void print(int n, int arr[][11]); //arr 배열 출력하는 함수
| |
|
| |
| int main (){
| |
| int n; //n : 입력받는 숫자
| |
| int z = 0; //z : 입력받을때 예외 처리 위해
| |
| int arr[11][11] = {{0,},}; // 11 x 11 배열 생성
| |
|
| |
| while(z == 0){
| |
| printf("n(3~11) : ");
| |
| z = scanf("%d",&n);
| |
|
| |
| if(z == 0 || n > 11 || n < 3 ) {
| |
| printf("잘못입력하셨습니다. \n");
| |
| fflush(stdin);
| |
| z = 0;
| |
| }
| |
| }
| |
|
| |
| draw(n,arr); //arr 배열에 n x n 달팽이 모양 입력
| |
| print(n,arr); //arr 배열 출력
| |
|
| |
| return 0;
| |
| }
| |
|
| |
| void draw(int n,int arr[][11]){ //arr 배열에 n x n 달팽이 모양 입력하는 함수
| |
| int i = 0, j = 0, num = 1, k = 0; //i = 행, j = 열, num = 입력할 숫자
| |
|
| |
| for(;num <= n * n; k++) {
| |
| for(; j < n - k; j++, num++) {
| |
| arr[i][j] = num;
| |
| }
| |
| for(i++, j--; i < n - k; i++, num++) {
| |
| arr[i][j] = num;
| |
| }
| |
| for(i--, j--; j >= k; j --, num++) {
| |
| arr[i][j] = num;
| |
| }
| |
| for(i--, j++; i > k; i--, num++) {
| |
| arr[i][j] = num;
| |
| }
| |
| i++, j++;
| |
| }
| |
| return;
| |
| }
| |
|
| |
| void print(int n,int arr[][11]){ //arr 배열 출력하는 함수
| |
| int i, j; //i = 행, j = 열
| |
|
| |
| for(i = 0; i < n; i++){
| |
| for (j = 0; j < n; j++){
| |
| printf("%3d ",arr[i][j]);
| |
| }
| |
| printf("\n");
| |
| }
| |
| return;
| |
| }
| |
| ---- | | ---- |
| [[새싹교실/2014]] [[새싹교실/2014/배반]] | | [[새싹교실/2014]] [[새싹교실/2014/배반]] |
|
| |
|