C’est (presque) marqué dans mon message précédent.
Loin de moi l’idée de vouloir paraître désagréable, mais savoir “lire le manuel” (comprendre la documentation / faire des recherches par soi-même / etc) est absolument indispensable pour tout programmeur, et un programmeur débutant doit apprendre ça aussi, car c’est une partie intégrante du “savoir programmer”.
Je pense que c’est beaucoup mieux pour toi si tu cherches cette info par toi-même (surtout que je t’ai donné des sacrées pistes là, et que l’info est facile à trouver – j’ai mis moins de 10 minutes à trouver le problème dans ton programme, chercher et lire la doc correspondante, et enfin corriger, alors que je n’utilise pour ainsi dire jamais scanf/printf et que je n’ai donc qu’une très vague idée de comment ils fonctionnent).
Par contre ce que je peux faire c’est t’expliquer comment j’ai procédé pour trouver l’origine du problème. Normalement j’aurais tendance à afficher la valeur des différentes variables, mais vu que là ça semblait être un problème d’affichage justement, j’ai fait l’inverse : j’ai donné des valeurs arbitraires aux variables et j’ai regardé si elles s’affichaient bien (c’était le cas) donc le problème ne pouvait venir que de l’entrée, à savoir le scanf("%f"…). J’ai cherché la doc de cette fonction sur internet et le tour est joué. 
En bref, pour corriger un bug :
- trouver sa cause en procédant par élimination
- comprendre pourquoi le code en question est mauvais, souvent en se rapportant à la doc correspondante pour vérifier qu’on utilise correctement la fonction
- corriger le code en fonction de ce que dit la doc
Bon courage.