E' il classico problema del buffer di input che si presenta con la scanf (probabilmente, se fai una ricerca, ci sono tanti post che riportano lo stesso problema).
Puoi rimediare usando la
fflush(stdin);
dopo ogni scanf se usi il compilatore di Microsoft, oppure, in ogni caso, puoi scrivere
while (getchar( ) != '\n');
sempre dopo ogni scanf.
Ambedue le soluzioni puliscono il buffer di input.