본문 바로가기
재미

C언어 반복문을 활용한 아름다운 크리스마스 트리 만들기

by Best Coding 2024. 12. 25.
반응형

C언어로 크리스마스 트리 만들기

 

 

 안녕하세요. 오늘은 크리스마스 기념으로 C언어 반복문을 활용하여 예쁘고 정교한 크리스마스 트리를 출력하는 프로그램을 만들어보겠습니다. 단순한 트리 나무 모양에서 벗어나 트리 밑둥도 추가하고, 다양한 장식 요소를 포함하여 예쁘게 만들어 보겠습니다.


1. 요구사항

요구사항은 다음과 같습니다:

  1. 층이 나뉜 트리: 트리의 높이에 따라 여러 층으로 구성된 트리를 만듭니다.
  2. 트리 밑둥 추가: 트리의 균형감을 위해 밑둥을 추가합니다.
  3. 장식 추가: 별(*)뿐만 아니라 다양한 문자(o, @, #)를 사용해 트리를 장식합니다.

 

 

2. 코드 작성

아래는 아름다운 크리스마스 트리를 출력하는 C언어 코드입니다:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

void printChristmasTree(int height) {
    srand(time(NULL));

    // 트리 출력
    for (int i = 1; i <= height; i++) {
        // 공백 출력
        for (int j = 1; j <= height - i; j++) {
            printf(" ");
        }
        // 장식과 별 출력
        for (int k = 1; k <= (2 * i - 1); k++) {
            int randomNum = rand() % 4;
            if (randomNum == 0) {
                printf("o"); // 장식 1
            } else if (randomNum == 1) {
                printf("@"); // 장식 2
            } else if (randomNum == 2) {
                printf("#"); // 장식 3
            } else {
                printf("*"); // 기본 별
            }
        }
        printf("\n");
    }

    // 트리 밑둥 출력
    for (int i = 0; i < 2; i++) {
        for (int j = 1; j < height; j++) {
            printf(" ");
        }
        printf("|||");
        printf("\n");
    }
}

int main() {
    int height;
    printf("크리스마스 트리의 높이를 입력하세요: ");
    scanf("%d", &height);

    if (height < 3) {
        printf("트리의 높이는 3 이상이어야 합니다.\n");
        return 1;
    }

    printChristmasTree(height);

    return 0;
}

 

반응형

 

 

3. 코드 설명

  1. 랜덤 장식:
    • rand() 함수를 사용하여 별, o, @, # 등의 장식을 랜덤하게 출력합니다.
  2. 층 나누기:
    • 각 행마다 출력되는 공백과 별/장식을 조합하여 삼각형 층을 구성합니다.
  3. 트리 밑둥:
    • 트리 하단에 ||| 을 추가하여 트리의 완성도를 높였습니다.

 

4. 실행 결과

높이를 6으로 입력했을 때, 아래와 같은 크리스마스 트리가 출력됩니다:

     *
    o*o
   *@*#*
  o*o*@*o
 o*@*o*#*@
***********
     |||
     |||
 
 

 

 아름다운 크리스마스 트리를 만드는 과정을 통해 C언어의 반복문, 조건문, 그리고 랜덤 함수 사용법을 익힐 수 있습니다. 여러분도 직접 코드를 바꿔가며 트리를 꾸미며 크리스마스를 기념해 보세요~~

궁금한 점이나 아이디어가 있다면 댓글로 공유해주세요. 읽어주셔서 감사합니다!

반응형

'재미' 카테고리의 다른 글

C언어로 크리스마스 눈사람을 만들어 보자! ☃  (4) 2024.12.25

댓글