Aggiungi le lettere un carattere alla volta.

Utilizza due stringhe: "barre" e "lettere". In "barre" metti l'underscore "_" o lo spazio a seconda che debba comparire o meno la barra. In "lettere" metti le lettere...

Utilizza due funzioni. Te le scrivo in pseudo-codice, poi vedi convincere C a farle funzionare...

codice:
aggiungiLetteraConBarra(char c) {
   barre += '_';
   lettere += c;
}

aggiungiLetteraSenzaBarra(char c) {
   barre += ' ';
   lettere += c;
}
Poi ovviamente stampi con:

printf (barre + '\n' + lettere);

L'algoritmo dovresti averlo gia' scritto, bastano piccole modifiche.
Il resto dovrebbe essere semplice.