Cosa devi fare? Leggi la traccia passo per passo e scomponila in sottoproblemi.
Comincia dunque col definire una struttura dati "Studente" con le caratteristiche richieste. "Nome dello studente", "Cognome dello studente" e "Corso di studi" saranno tre stringhe, o tre array di caratteri. "Matricola" sarà un int e "media" sarà un float (potrebbe essere anche un double, ma sarebbe un po' come sparare ai passeri col cannone).
Ci vorrà quindi una funzione "int immetti_studente(Studente *studente)" che si occuperà dell'interazione con il mezzo di input (la console?) per riempire i campi della struttura.
Un'altra funzione "Studente *crea_registro(unsigned int nStud)" si potrebbe occupare di creare l'array per contenere nStud strutture di tipo "Studente", quindi potrebbe chiamare "immetti_studente()" per nStud volte per popolare l'array. Volendo, questa funzione si potrebbe omettere, integrandone i passaggi direttamente in main(), particolarmente se non si vuole o non si sa gestire la creazione di un array in memoria dinamica.
Poi ci vorrà una funzione "int elimina_sotto_soglia(Studente *registro, unsigned int *nStud, float soglia)" che elimini le strutture che riguardano studenti con media al di sotto della soglia e reimposti nStud in base alla nuova quantità contenuta nell'array.
Procedendo nella traccia, l'esercizio richiede una funzione "int ordina_per_cognome(Studente *registro, unsigned int nStud)" che si occupi di ordinare alfabeticamente in senso crescente l'array in base al campo "cognome" di ogni struttura "Studente" (sarebbe più figo ordinare le strutture in base al campo "cognome" E in base al campo "nome", ma non è richiesto).
Per finire, un'ultima funzione "int mostra_registro(const Studente *registro, unsigned int nStud)" si occuperà di presentare i dati in uscita (sempre in console?).
La funzione principale main() si avvantaggerà di queste funzioni "accessorie", coordinandole in vista del risultato finale e gestendo la richiesta della quantità di studenti N e del valore di soglia S.
Tedioso, magari lunghetto, ma non particolarmente difficile. Ovvio che ci sono mille altri modi di risolvere l'esercizio, e che uno sceglie quelli più adatti al proprio modo di ragionare.