문자 달팽이 출력하기
정수 N을 입력받아 N x N크기의 문자 달팽이를 출력하시오.
Example)
Input
N = 5
OutPut
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 |
#include <stdio.h>
#define MAX 10
void main()
{
int nArr[ MAX ][ MAX ];
int N, cN, nCnt;
int i, j, x, y;
scanf( "%d", &N );
cN = N;
x = 0;
y = -1;
nCnt = 1;
while( N >= 0 )
{
for( i = 0; i < N; i++ )
{
nArr[ x ][ ++y ] = nCnt++;
}
N--;
for( i = 0; i < N; i++ )
{
nArr[ ++x ][ y ] = nCnt++;
}
for( i = 0; i < N; i++ )
{
nArr[ x ][ --y ] = nCnt++;
}
N--;
for( i = 0; i < N; i++ )
{
nArr[ --x ][ y ] = nCnt++;
}
}
for( i = 0; i < cN; i++ )
{
for( j = 0; j < cN; j++ )
{
printf( "%4d", nArr[ i ][ j ] );
}
printf( "\n" );
}
}
'MISCELLANEOUSNESS' 카테고리의 다른 글
알고리즘 문서 (0) | 2007.11.25 |
---|---|
[Project] PhotoMap Ver. 0.1 BETA (2) | 2007.11.07 |
for로 마름모 출력하기.. (0) | 2007.10.30 |