본문 바로가기
Programming/C

[C] 빈 다이아몬드 찍기

by graygreat 2017. 4. 3.
728x90
반응형

※ for문을 여러개 사용해도 되지만 일부러 2개만 사용.


#include<stdio.h>

int main() {
    int num;
    int i, j;
    int center;
    printf("input : ");
    scanf_s("%d", &num);

    center = num / 2;

    if (num % 2 == 0) {                             //짝수 빈 다이아몬드
        for (i = 0; i < num - 1; i++) {                   
            for (j = 0; j < num; j++) {
                if (i < center) {
                    if (j >= center - i && j < center + i)
                        printf(" ");
                    else
                        printf("*");
                }
                else {
                    if ((j >= i + 1 - (center - 1)) && (j < num - (i + 1 - (center - 1))))
                        printf(" ");
                    else
                        printf("*");
                }
            }
            printf("\n");
        }
    }
    else {                                          // 홀수 빈 다이아몬드
        for (i = 0; i < num; i++) {
            for (j = 0; j < num; j++) {
                if (i <= center) {
                    if (j >= center - (i - 1) && j <= center + (i - 1))
                        printf(" ");
                    else
                        printf("*");
                }
                else {
                    if ((j >= i + 1 - center) && (j < num - (i + 1 - center)))
                        printf(" ");
                    else
                        printf("*");
                }
            }
            printf("\n");
        }
    }
}


반응형

댓글