Ciao Carlotta,
nel C le divisioni tra interi sono interpretate sempre come divisioni "intere", quindi il risultato dell'operazione che hai indicato ti darà sempre un numero intero, indipendentemente dal fatto che la variabile in cui conservi il risultato sia un float. Per risolvere devi usare l'operatore cast con cui specifichi che il risultato che vuoi ottenere deve conservare le cifre decimali. Il tuo codice viene quindi così modificato:
percentuale=(float)(( m [i] [j] *100)/5000);
Per stampare il risultato con diverse precisioni usi:
printf("Percentuale=%.2f\n", percentuale);
Buona serata.