/ * Faites deux décimales en h et arrondissez le troisième chiffre. Si h est 1234,567, la fonction renvoie 123,570000 h est 123,564, puis 123,560000 * / #include <stdio.h> #include <conio.h> # include <stdlib.h> float fun ( float h) { int temp = ( int ) (h * 1000 + 5 ) / 10 ; return ( float ) temp / 100.0 ; } void main () { float a; while (scanf ( " % f " , & a)! = EOF) { printf ( " % f \ n " , fun (a)); } }
Algorithme d'arrondi: si vous voulez être précis au nième chiffre après le point décimal, vous devez effectuer des opérations sur n + 1 chiffres.
La méthode consiste à multiplier la décimale par 10 à la puissance de n + 1 et à ajouter 5, puis à diviser par 10 et à forcer la conversion en entier,
puis à diviser le nombre par 10 à la puissance de n et à forcer la conversion en virgule flottante.