본문 바로가기
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 (int i = 0; i < num - 1; i++) {
            for (int 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");
        }
    }
    else {                                // 홀수 다이아몬드
        for (int i = 0; i < num; i++) {
            for (int j = 0; j < num; j++) {
                if (i <= center) {
                    if ((j >= center - i) && (j <= center + i))
                        printf("*");
                    else
                        printf(" ");
                }
                else {
                    if ((j >= i - center) && (j < num - (i - center)))
                        printf("*");
                    else
                        printf(" ");
                }
            }
            printf("\n");
        }
    }
}


반응형

댓글