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.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Resetear GOOJPRT PT-210 MTP-II (Impresora térmica)

El día de hoy vamos a ver cómo restablecer la impresora térmica GOOJPRT PT-210 a…

2 semanas hace

Proxy Android para impresora térmica ESC POS

Hoy voy a enseñarte cómo imprimir en una impresora térmica conectada por USB a una…

2 semanas hace

Android – Servidor web con servicio en segundo plano

En este post voy a enseñarte a programar un servidor web en Android asegurándonos de…

2 semanas hace

Cancelar trabajo de impresión con C++

En este post te quiero compartir un código de C++ para listar y cancelar trabajos…

1 mes hace

Copiar bytes de Golang a JavaScript con WebAssembly

Gracias a WebAssembly podemos ejecutar código de otros lenguajes de programación desde el navegador web…

2 meses hace

Imprimir PDF con Ghostscript en Windows de manera programada

Revisando y buscando maneras de imprimir un PDF desde la línea de comandos me encontré…

2 meses hace