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

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.