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

Porcentaje de diferencia con C - Programación

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.

Si el post ha sido de tu agrado te invito a que me sigas para saber cuando haya escrito un nuevo post, haya actualizado algún sistema o publicado un nuevo software. Facebook | X | Instagram | Telegram | También estoy a tus órdenes para cualquier contratación en mi página de contacto