Ajuda no exercicio de struct e strings em C

Boa noite, galera. Resolvi pegar um exercício em C para resolver, porém, tive algumas dificuldades. No exercício pede para printar a receita com os ingredientes e estou com duvida como faço para printar todos os ingredientes. Pois, se eu colocar mais de um ingredientes, na hora de printar ele só printa o último ingrediente.

Fac¸a um programa para armazenar um livro de receitas e:
• Crie um vetor de 5 receitas, que deve ter nome (maximo 25 letras), quantidade de ´
ingredientes e ingredientes.
• Para cada receita, leia seu nome e a quantidade de ingredientes. Entao crie e leia ˜
o vetor de ingredientes, sendo que cada ingrediente contem nome e quantidade. ´
• Procure receita por nome, mostrando seus ingredientes se encontrar. Se nao en- ˜
contrar, informe ao usuario. Repita o processo at ´ e digitar uma string vazia.

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

struct ing {
  char nome[25];
  int quant;
};
typedef struct ing Ing;

struct receitas {
  char nome[25];
  int quant;
  Ing ingredientes;
};
typedef struct receitas Receitas;

int buscaReceita (char *nome1, char *nome2){
  if (strcmp(nome1, nome2) == 0)
    return 1;
  else
    return 0;
}

int main (void){
  int n = 1;
  Receitas *rec = (Receitas *)malloc(n * sizeof(Receitas));
  for (int i = 0; i < n; i++){
    printf("receita: ");
    scanf("%25[^\n]s", rec[i].nome);
    printf("\nquantidade de ingredientes: ");
    scanf("%d", &rec[i].quant);
    setbuf(stdin, NULL);
    for (int j = 0; j < rec[i].quant; j++){
      printf("ingrediente %d: ", j+1);
      scanf("%25[^\n]s", rec[i].ingredientes.nome);
      printf("quantidade: ");
      scanf("%d", &rec[i].ingredientes.quant);
      setbuf(stdin, NULL);
    }
    printf("\n");
  }
  char nomeReceita[25];
  printf("nome da receita: ");
  scanf("%25[^\n]s", nomeReceita);
  setbuf(stdin, NULL);
  char *vazio = "0";
  int i = 0;
  while (strcmp(nomeReceita, vazio) != 0){
    for (int i = 0; i < n; i++){
      if (buscaReceita(nomeReceita, rec[i].nome) == 1){
        printf("%s: ", rec[i].nome);
        printf("%s ", rec[i].ingredientes.nome);
      }
    }

    printf("\nnome da receita: ");
    scanf("%25[^\n]s", nomeReceita);
    setbuf(stdin, NULL);
  }
  free(rec);
  return 0;
}