Primero lo facil:
Cita: promedio=(float)(nota1+nota2+nota3)/3;
no hace este proceso no lo calcula y no se porque?
Sí lo calcula bien solo q estas usando mal el printf; al imprimir promedio y msj
no tenes que anteponer el "&", esta demas
Ahora digamos lo dificil:
Cita: no se porque pasa de un solo, osea no lee NomAlumno.
Esto se debe al ENTER que queda en el bufer del teclado, es decir al ingresar el numero de alumnos seguido oprimis el enter. Entonces el numero es usado por scanf pero el ENTER queda almacenado en el bufer. Cuando gets quiere leer el nombre agarra el ENTER sin dejarte ingresar nada
Para q esto no suceda tenes que
limpiar el bufer con:
SAludos
PD: el bucle tiene que ir abajo de