No, numero non deve essere convertito a float.
Questo è il codice giusto.
Codice:
if (numero%2==0)
printf("Il numero è pari\n");
else
printf("Il numero è dispari\n");
% è l'operatore di resto fra interi...il resto fra divisioni float non esiste
if (numero/2==0)
Questa istruzione ti ritorna 0 solo se inserisci il numero 1...per tutti gli altri ti ritorna il risultato della divisione per 2, quendi è ovvio che scriva dispari.