En este post de programación en C te enseñaré a sacar el porcentaje de diferencia que existe entre dos números, ya sea positivo o negativo.
Te voy a enseñar una función en ANSI C que te dirá el porcentaje de diferencia que hay entre dos variables de tipo double
. Por ejemplo, entre el 50 y el 75 hay un porcentaje de diferencia del 50 %
, mientras que entre 6 y 5 existe uno (negativo) de -16.6 %
.
El porcentaje de diferencia sirve para hacer comparativas entre dos números y saber si ha habido un aumento o disminución.
La fórmula
Antes de pasar al código en C veamos la fórmula. Como lo dije, vamos a sacar la diferencia en porcentaje y ésta puede ser negativa o positiva, así que haremos lo siguiente:
diferencia = ((b / a) * 100) - 100;
En donde b
y a
son los números de los cuales queremos obtener la diferencia.
Porcentaje de diferencia en C
Ahora pasemos a la función. Fíjate en que recibimos los argumentos de a
y b
en ese orden, pero al aplicarlos en la fórmula dividimos a b
entre a
:
double porcentajeDeDiferencia(double a, double b)
{
return ((b / a) * 100) - 100;
}
Ahora podemos usarlo así:
double a = 6,
b = 5;
double diferencia = porcentajeDeDiferencia(a, b);
Te repito que ésta función puede devolver un positivo o negativo, pues se hizo con esa intención.
Poniendo todo junto
El código completo junto con el método main
queda como se ve a continuación. Obviamente tú puedes cambiar los valores, solicitarlos por teclado, leerlos de un archivo, etcétera. Al final queda así:
/*
https://parzibyte.me/blog
*/
#include <stdio.h>
double porcentajeDeDiferencia(double a, double b)
{
return ((b / a) * 100) - 100;
}
int main(void)
{
double a = 5,
b = 6;
double diferencia = porcentajeDeDiferencia(a, b);
printf("Porcentaje de diferencia entre %lf y %lf: %lf\n", a, b, diferencia);
return 0;
}
Si quieres puedes leer más posts sobre C en mi blog.