Redondeo de lenguaje C

/ * Hacer dos decimales en h y redondear el tercer dígito. 
Si h es 1234.567, la función devuelve 123.570000 
h es 123.564, entonces devuelve 123.560000 * / 
#include <stdio.h> 
#include <conio.h> 
# incluye <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 " , diversión (a)); 
    } 
}

Algoritmo de redondeo: si desea ser preciso al enésimo dígito después del punto decimal, debe realizar operaciones en n + 1 dígitos.
El método consiste en multiplicar el decimal por 10 a la potencia de n + 1 y sumar 5, luego dividir por 10 y forzar la conversión a un número entero,
luego dividir el número por 10 a la potencia de n y forzar la conversión a coma flotante.

Supongo que te gusta

Origin www.cnblogs.com/zmmm/p/12728469.html
Recomendado
Clasificación