C_C++

(C언어) 직각삼각형 모양 만들기

고니자니 2022. 10. 22. 08:16
반응형

#삼각형 #직각삼각형 #별찍기 #역삼각형

 

 

1.

#include <stdio.h>

int main()
{
    int i, j;
    for (i = 1; i <= 10; i++)
    {
        for (j = 1; j <= i; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

2. 위에서 작성한 코드에서 앞 쪽 부분에 공백을 삽입했습니다.

전체 10줄이므로, 1행에서 10-1개, 2행에서 10-2개, 3행에서 10-3개, ... 이런 규칙을 적용했습니다.

#include <stdio.h>

int main()
{
    int i, j;
    for (i = 1; i <= 10; i++)
    {
        for (j = 1; j <= 10-i; j++)          // '*' 앞쪽에 공백을 출력합니다.
            printf(" "); 
            
        for (j = 1; j <= i; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

3. 이번에는 1행에 별 10개, 2행에 별 9개, ... 한 개씩 작게 출력하는 코드입니다.

반복을 10, 9, 8, 7, ... , 1 --- 이런 규칙은 for문을 이용하면 다음과 같이 표현할 수 있습니다.

int  i;
for(i=10; i>=1; i--)
int  i;
for(i=1; i<=10; i++)
{
    // 여기에서 11-i를 이용할 수도 있습니다.
}

여러가지 방법으로 표현을 할 수 있겠습니다.

#include <stdio.h>

int main()
{
    int i, j;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < 10-i; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

4. 위의 2번에서 갖성한 것처럼 앞 쪽에 공백을 출력하는 코드를 삽입해 보겠습니다.

#include <stdio.h>

int main()
{
    int i, j;
    for (i = 0; i < 10; i++)
    {
        for (j = 0; j < i; j++)
            printf(" ");
        for (j = 0; j < 10-i; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

 

반응형