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.