Ola existe uma função que você pode usar que é a strrev (que inverte string). não sei se ela faz parte do ANSI mais você pode copiar ela para seu codigo e usala. não se esqueça se for declara depois do main de delarar o escopo dela.  da um olhada aê.   //PROGRAMA QUE INVERTE UMA  STRING USANDO A FUNÇÃO STRREV();
//ESCOPO = char *strrev(char *string);
#include <string.h>
char *strrev(char *string)
{
    char *original = string;
    char *frente = string;
    char temp;
    while(*string)
        string++;
    while(frente < string)
    {    
    temp = *(--string);
    *string = *frente;
    *frente++ = temp;
    }
    return (original);
}
pode usar tipo assim:
char name[100] = "joão";
   strrev(name);
   printf(name);   agora acho que o resto é tentar inverter depois de acordo com os nomes. talvez depois que encontrar um caracter '\n' mais ou menos. se conseguir poste o resultado final.  :closedeyes: