Usar Funciones (p. ej., round, floor, ceil) para Redondear Valores
En este paso, aprenderás a usar funciones de redondeo en C para manipular números de punto flotante. Modificaremos el archivo rounding.c anterior para demostrar diferentes técnicas de redondeo.
Abre el archivo existente:
cd ~/project
nano rounding.c
Reemplaza el contenido anterior con el siguiente código:
#include <stdio.h>
#include <math.h>
int main() {
// Declarar variables de punto flotante
float num1 = 3.7;
double num2 = 4.2;
// Redondear valores usando diferentes funciones
printf("Valores originales:\n");
printf("num1: %.1f, num2: %.1f\n\n", num1, num2);
// Usando la función round()
printf("Función round():\n");
printf("round(num1): %.0f\n", round(num1));
printf("round(num2): %.0f\n\n", round(num2));
// Usando la función floor()
printf("Función floor():\n");
printf("floor(num1): %.0f\n", floor(num1));
printf("floor(num2): %.0f\n\n", floor(num2));
// Usando la función ceil()
printf("Función ceil():\n");
printf("ceil(num1): %.0f\n", ceil(num1));
printf("ceil(num2): %.0f\n", ceil(num2));
return 0;
}
Compila el programa con la biblioteca matemática:
gcc rounding.c -o rounding -lm
./rounding
Salida de ejemplo:
Valores originales:
num1: 3.7, num2: 4.2
Función round():
round(num1): 4
round(num2): 4
Función floor():
floor(num1): 3
floor(num2): 4
Función ceil():
ceil(num1): 4
ceil(num2): 5
Puntos clave sobre las funciones de redondeo:
round(): Redondea al entero más cercano.
floor(): Redondea hacia abajo al entero más cercano.
ceil(): Redondea hacia arriba al entero más cercano.
- El flag
-lm se utiliza para enlazar la biblioteca matemática al compilar.
- El especificador de formato
%.0f muestra enteros sin decimales.