카테고리 없음

별찍기 7

raphael070929 2023. 4. 11. 03:04
#include <stdio.h>

int main(void) {
    int i, j, n;
    scanf("%d", &n);
    for (i = 0; i < n; i++) {
        for (j = 0; j < n-1-i; j++) {
            printf(" ");
        }
        for (j = 0; j < 1+i*2; j++) {
            printf("*");
        }
        printf("\n");
    }
    for (i = 0; i < n-1; i++){
        for (j = 0; j < 1+i; j++){
            printf(" ");
        }
        for (j=0; j<2*n-2*i-3; j++){
            printf("*");
        }
        printf("\n");
    }

    return 0;
}

반복받을 n값을 입력받습니다. 반복문을 돌려서

####

###

##

# 형식(n값에 따라 달라질 수 있음)의 공백칸을 만들어줍니다. 또 다시 반복문을 돌려서 피라미드 형태의 별을 찍습니다.

i는 0에서부터 4까지니까 각 줄마다 찍히는 별은 1+i*2에 의해 1개 3개 5개 7개 9개가 될것입니다.

그 다음 밑부분 공백칸을 만들어줍니다

#

##

###

#### 그 후 반복문을 사용해 피라미드 밑부분을 만들어 줍니다.

n=5라고 할 때 첫 줄은 i=0이고 7개가 나오므로 2*n-3-2*i로 써줍니다. 이렇게 써주게 되면 i=1일때 5개의별이 찍히고 순서대로 7 5 3 1개의 별이 찍혀서 완성시킬 수 있습니다.