프로그래밍언어/C

[c] [별짓기] 모래시계 모양을 만들어보자!

dan2el 2021. 8. 26. 10:04
#include <stdio.h>

int main(void) {

  int i, j, k;

  int num;

  printf("몇줄짜리 모래시계를 만들까요?");

  scanf("%d", &num);

  if (num % 2 == 0) { //짝수

    for (i = 1; i < num / 2; i++) {

      for (j = 0; j < i; j++) {
        printf(" ");
      }

      for (k = 0; k < (num - 2 * i); k++) {
        printf("*");
      }

      for (j = 0; j < i; j++) {
        printf(" ");
      }
      printf("\n");
    }

    for (i = 1; i < num / 2; i++) {

      for (j = 0; j < num / 2 - i; j++) {
        printf(" ");
      }
      for (k = 0; k < 2 * i; k++) {
        printf("*");
      }
      for (j = 0; j < num / 2 - i; j++) {
        printf(" ");
      }
      printf("\n");
    }

  } else if (num % 2 == 1) { //홀수

    for (i = 0; i < num / 2; i++) {

      for (j = 0; j < i; j++) {
        printf(" ");
      }

      for (k = 0; k < (num - 2 * i); k++) {
        printf("*");
      }

      for (j = 0; j < i; j++) {
        printf(" ");
      }
      printf("\n");
    }

    for (i = 0; i < num / 2 + 1; i++) {

      for (j = 0; j < num / 2 - i; j++) {
        printf(" ");
      }
      for (k = 0; k < 2 * i + 1; k++) {
        printf("*");
      }
      for (j = 0; j < num / 2 - i; j++) {
        printf(" ");
      }
      printf("\n");
    }
  }

  return 0;
}

 

실행 결과