본문 바로가기
BOJ

백준[C언어] 17478: 재귀함수가 뭔가요?

by 횰임 2022. 1. 28.

👊Try 1

#include <stdio.h>

void question(int N, int n)
{
  for(int i=0; i<N-n; i++){
    printf("----");
  }
  printf("\"재귀함수가 뭔가요?\"\n");
}

void story(int N, int n)
{
  
  for(int i=0; i<N-n; i++){
    printf("----");
  }
  printf("\"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.\n");

  for(int i=0; i<N-n; i++){
    printf("----");
  }
  printf("마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.\n");
  
  for(int i=0; i<N-n; i++){
    printf("----");
  }
  printf("그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인에게 한 선비가 찾아와서 물었어.\"\n");

}

void fin_answer(int N, int n)
{
  for(int i=0; i<N-n; i++){
    printf("----");
  }
  printf("\"재귀함수는 자기 자신을 호출하는 함수라네\"\n");
}


void answer(int N, int n)
{
  for(int i=0; i<N-n; i++){
    printf("----");
  }
  printf("라고 답변하였지.\n");
}

void chat_bot(int N, int n)
{
  int i;
  if(n==0)
  {
    question(N, n);
    fin_answer(N, n);
    answer(N, n);
    return;
  }
  question(N, n);
  story(N, n);
  chat_bot(N, n-1);
  answer(N, n);
}

int main(void) {

  int n;
  scanf("%d", &n);
  int N = n;
  printf("어느 한 컴퓨터 공학과 학생이 유명한 교수님을 찾아가 물었다.\n");
  chat_bot(N, n);

  return 0;
}

❓틀렸습니다!

-> 출력 결과는 같게 나오는데 뭐가 문제일까