Potresti mettere , all'interno del while dopo la scanf
in questo modo esce dal ciclo while e non considera lo zero .codice:if(a==0)break;
Oppure aggiungere un and nella condizione del'if e un else if
in questo modo non considera lo zerocodice:if(a%2==0 && a != 0) else if (a%2>0)
Direi la prima !