[C언어/C++] 별찍기 예제 (For문 연습)

대표적인 for문 연습 방법인 별찍기에 대해 포스팅해보려합니다. 별찍기는 반복문을 사용해서 여러가지형태로 별(*)을 출력하는 말하는데요. 기본적인 사각형, 삼각형 이런것은 쉽게 구현이 가능하지만 피라미드, 마름모, 모래시계 이런것들은 생각보다 까다로워요. 특히 처음 반복문을 접하시는 분들은 많이 힘들어 하실거에요. 그래서 이번 포스팅에서는 상대적으로 쉬운 사각형, 삼각형부터 상대적으로 어려운 피라미드, 나비, 마름모까지 한번 만들어서 그 소스를 포스팅해보자 합니다.

 

사각형 만들기

for(int i=0;i<5;i++){
    for(int j=0;j<5;j++){
	printf("*");
    }
    printf("\n");
}

사각형

 

직각삼각형 만들기 -1

for(int i=0;i<5;i++){
    for(int j=0;j<=i;j++){
	printf("*");
    }
    printf("\n");
}

직각삼각형1

 

직각삼각형 만들기-2

for(int i=0;i<5;i++){
    for(int j=0;j<5-i;j++){
	printf("*");
    }
    printf("\n");
}

직각삼각형2

 

피라미드 만들기-1

int num=5;
for(int i=0;i<num;i++){
    for(int j=num-1;j>i;j--){
        printf(" ");
    }
	    
    for(int j=0;j<2*i+1;j++){
	printf("*");
    }
    printf("\n");
}

피라미드1

 

피라미드 만들기-2

int num=5;
for(int i=0;i<num;i++){
    for(int j=0;j<i;j++){
         printf(" ");
     }

    for(int j=2*num-1;j>2*i;j--){
	printf("*");
    }
    printf("\n");
}

피라미드2

 

다이아몬드 만들기 (피라미드를 두개를 합치면 다이아몬드가 됩니다.)

int num=5;
for(int i=0;i<num;i++){
    for(int j=num-1;j>i;j--){
	printf(" ");
    }
		    
    for(int j=0;j<2*i+1;j++){
	printf("*");
    }
    printf("\n");
}
	
for(int i=1;i<num;i++){
   for(int j=0;j<i;j++){
	 printf(" ");
   }
	
    for(int j=2*num-1;j>2*i;j--){
         printf("*");
    }
    printf("\n");
}

다이아몬드

 

모래시계 만들기

int start = 0, end = 10;
for(int i = 0; i < 9; i++) {
    if(i < 10/2){
  	start = i, end--;	
    }else{
  	start--, end++;	
    }
  
    for(int j = start; j > 0; j--){
  	printf(" ");
    } 
    for(int j = start; j < end; j++){
  	printf("*");	
    }
    printf("\n");
}

모래시계

 

 

댓글

Designed by JB FACTORY