ciao a tutti
ho fatto questo nuovo programmino
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define maxcar 25
#define massimo 100
/*
 * 
 */
int main() {

    struct studente {
        char cognome[maxcar];
        char nome[maxcar];
        int scritto;
        int orale;
        int media;
       } studenti[massimo];


       int i, j;
       int n;

       printf ("inserisci numero studenti : \n");
       scanf ("%d", n);

       if ( n >= 3){
           for (i = 0; i <= massimo; i++){
               printf ("cognome : ");
               scanf ("%s", studenti[i].cognome);
               printf ("nome : ");
               scanf ("%s", studenti[i].nome);
               printf ("scritto : ");
               scanf ("%d", &studenti[i].scritto);
               printf ("orale : ");
               scanf ("%d", &studenti[i].orale);
           }

           for (j = 0; j <= massimo; j++){
               studenti[j].media = (studenti[j].scritto + studenti[j].orale) / 2;
               if (studenti[j].media >= 18){
                   printf ("studenti con media >= 18\n");
                   printf ("%30s%30s%30s%30s%30s","cognome","nome","scritto","orale","media");
                   printf ("%s%s%d%d%d", studenti[i].cognome, studenti[i].nome, studenti[i].scritto, studenti[i].orale, studenti[j].media);
               }
           }
             for (j = 0; j <= massimo; j++){
               
              
                   printf ("studenti con media >= 18\n");
                   printf ("%30s%30s%30s%30s%30s","cognome","nome","scritto","orale","media");
                   printf ("%s%s%d%d%d", studenti[i].cognome, studenti[i].nome, studenti[i].scritto, studenti[i].orale, studenti[j].media);
               }
           }else{
           printf ("n è minore di 3");
           }


       
     return 0;
}
quando eseguo mi fa inserire 'n', dopodichè si blocca
che errore faccio?