반복문 연습 마름모 출력하기..
RedBeanZ C언어 그룹 스터디 하다 만든 소스 예제 파일..
뭐 두서없이 설명하면서 만든 것이지만.. 중첩 포문 이해하는데 도움이 됬으면 한다..
#include <stdio.h>
int main()
{
int n, m;
int i, j;
int nLine, nCnt, nSpace;
do
{
scanf( "%d, %d", &n, &m );
if( m == 1 )
{
nLine = n / 2;
nCnt = n;
nSpace = 1;
for( i = 0; i <= nLine; i++ )
{
for( j = 0; j < nCnt; j++ )
printf( "*" );
for( j = 0; j < nSpace; j++ )
printf( "1" );
for( j = 0; j < nCnt; j++ )
printf( "*" );
printf( "\n" );
nSpace += 4;
nCnt -= 2;
}
nSpace -= 4;
nCnt += 2;
for( i = 0; i < nLine; i++ )
{
nSpace -= 4;
nCnt += 2;
for( j = 0; j < nCnt; j++ )
printf( "*" );
for( j = 0; j < nSpace; j++ )
printf( "1" );
for( j = 0; j < nCnt; j++ )
printf( "*" );
printf( "\n" );
}
}
else if( m == 2 )
{
nCnt = -1;
nSpace = -1;
nLine = n / 2;
for( i = 0; i < nLine; i++ )
{
nCnt += 2;
nSpace += 2;
for( j = 0; j < nCnt; j++ )
printf( "*" );
for( j = 0; j < nSpace; j++ )
printf( "1" );
for( j = 0; j < n * 2 - nSpace - nCnt - 1; j++ )
printf( "*" );
printf( "\n" );
}
for( i = 0; i < nLine - 1; i++ )
{
nCnt -= 2;
nSpace -= 2;
for( j = 0; j < nCnt; j++ )
printf( "*" );
for( j = 0; j < nSpace; j++ )
printf( "1" );
for( j = 0; j < n * 2 - nSpace - nCnt - 1; j++ )
printf( "*" );
printf( "\n" );
}
}
}while( m <= 3 );
}
'MISCELLANEOUSNESS' 카테고리의 다른 글
[Project] PhotoMap Ver. 0.1 BETA (2) | 2007.11.07 |
---|---|
초기 mysql root 패스워드 설정 및 비번 변경과 root 비번 잃어버렸을 경우 변경 하는방법 (0) | 2007.10.11 |
windows 보안 정책 적용하기 (0) | 2007.10.10 |