ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C언어 피라미드, 마름모 별찍기(for문 연습)
    코딩공부 2022. 4. 21. 17:49
    728x90
    반응형

    C언어를 배우면 for문에서 무조건 나오는 피라미드와 마름모 별(*)찍기에 대해 글을 작성하였습니다.

    여기서 사용되는 것은 이중 for문이며 간단한 덧셈 곱셈만 할 줄 안다면 만들 수 있습니다.

    사각형 만들기

    우선 이중 for문을 이용해 사각형을 먼저 만들어 보겠습니다.

    #include <stdio.h>
    
    int main(void)
    {
    	for (int i = 0; i < 5; i++)
    	{
    		for (int j = 0; j < 5; j++)
    		{
    			printf("*");
    		}
    		printf("\n");
    	}
    	return 0;
    }

    첫번째 for문은 몇번을 반복할 것인지를 나타내고 두번째 for문은 어떻게 별(*)을 찍을 것인지를 나타내는 것입니다.

    사격형 만들기 결과


    왼쪽으로 붙은 직각 삼각형 만들기

    #include <stdio.h>
    
    int main(void)
    {
    	for(int i = 0; i < 5; i++)
    	{
    		for(int j = 0; j <= i; j++)
    		{
    			printf("*");
    		}
    		printf("\n");
    	}
    	return 0;
    }

    위에서 말한것과 같이 첫번째 for문은 반복할 횟수를 두번째 for문은 어떤 형태로 별(*)을 찍을지를 나타냅니다.

    왼쪽으로 붙은 직각 삼각형 만들기 결과


    피라미드 만들기

    피라미드를 만들기 위해서는 별(*)이 1,3,5,7,9,... 이렇게 늘어나야합니다.

    #include <stdio.h>
    
    int main(void)
    {
    	for (int i = 0; i < 5; i++)
    	{
    		for (int j = i; j < 4; j++)
    		{
    			printf(" ");
    		}
    		for (int h = 0; h < i*2+1; h++)
    		{
    			printf("*");
    		}
    		printf("\n");
    	}
    	return 0;
    }

    첫번째 for문은 반복할 횟수, 두번째 for문은 피라미드를 만들기 위한 빈공간을 만들기 위해, 세번째 for문은 실질적인 피라미드 모양의 별(*)을 나타냅니다.

    a

    피라미드 만들기 결과


    마름모 만들기

    마름모를 만드는 방법은 피라미드를 각각 반대로 만들어 주시면 됩니다.

    #include <stdio.h>
    
    int main(void)
    {
    	int num = 3;//아래 모양을 만들기 위한 변수
    	
    	for (int i = 0; i < 5; i++)
    	{
    		for (int j = i; j < 4; j++)
    		{
    			printf(" ");
    		}
    		for (int h =  0; h < i*2+1; h++)
    		{
    			printf("*");
    		}
    		printf("\n");
    	}
        //마름모 위 모양 완성
    	for (int a = 0; a < 4; a++)
    	{
    		for (int b = 0; b <= a; b++)
    		{
    			printf(" ");
    		}
    		for (int c = num*2+1; c > 0; c--)
    		{
    			printf("*");
    		}
    		printf("\n");
    		num = num - 1;
    	}
    	//마름모 아래 모양 완성
    	return 0;
    }

    마름모 만들기 결과

    728x90
    반응형
Designed by Tistory.