Avevo iniziato così:

codice:
#include <stdio.h>
#include <string.h>
#define M 5
#define N 20

void riempimento(char * vett[][]);
void stampa(char vett[][]);
void ordina(char vett[][]);

int main()
{
    char vett[M][N];
    riempimento(&vett[0][0]); // inserimento delle stringhe nel vettore
    stampa(vett); // stampa del vettore prima dell'ordinamento
    ordina(vett);
    stampa(vett); // stampa del vettore dopo l'ordinamento
}

void riempimento(char * vett[][])
{
     int i;
     for(i=0;i<M;i++)
     {
          printf("Inserire stringa: ");
          scanf("%s",vett[i][0]);
     }
}

void stampa(char vett[][])
{
     int i;
     printf("Vettore di stringhe: \n");
     for(i=0;i<M;i++)
         printf("%s\n",vett[i][0]);
}

void ordina(char vett[][])
{
     // Inserire gli algoritmi di ordinamento
}
Però suppongo ci siano parecchi errori di sintassi...
E in ogni caso non credo sia corretto neanche la funzione per acquisire le stringhe (??)

Perchè dovrei acquisir le parole da un unico testo e non parola per parola..