Ciao, non mi e' ben chiaro quello che devi fare. Meglio, il testo dell'esercitazione credo di averlo capito ma leggendo il tuo codice non capisco perche' utilizzi una lista in quel modo.
Il punto 1 dice "Permetta l'inserimento di N stringhe differenti ...": io le N stringhe le terrei in memoria utilizzando una lista del tipo:
#define MAX_BUFF (35+1)
struct _word_list {
char word[MAX_BUFF];
struct _word_list* nx;
} *word_list;
Non capisco perche' la lista la fai di "studentesse".
Probabilmente non avevi ben chiaro il testo dell'esercitazione.
Fammi sapere se hai fatto progessi altrimenti ti posso postare altro codice.
Saluti, netburst.
P.S: Quando posti un codice sorgente utilizza i tag '[' code ']' e '['/code']' (senza gli ') in questo modo il tuo post risultera' piu' chiaro.