Ejemplos Prácticos de Algoritmos en Lenguaje C

Enviado por Chuletator online y clasificado en Matemáticas

Escrito el en español con un tamaño de 3,6 KB

Implementación de Algoritmos en C

1. Cálculo de Coste de Aparcamiento

#include <stdio.h>

float calcular_coste(int horas) {
    float precio = 0;
    if (horas <= 2) {
        precio = 0;
    } else if (horas <= 5) {
        precio = (horas - 2) * 1.5;
    } else if (horas > 5) {
        precio = (1.5 * 3) + (horas - 5) * 2.8;
    }
    return precio;
}

int main() {
    int horas;
    float precio;
    printf("¿Cuántas horas has aparcado?");
    scanf("%d", &horas);
    precio = calcular_coste(horas);
    if (horas <= 2) {
        printf("0h-%d h gratis", horas);
    } else if (horas <= 5) {
        printf("0h-2h gratis, 3h - %dh %.2f euros", horas, precio);
    } else if (horas > 5) {
        printf("0h-2h gratis, 2h-5h, 4,50 euros, 6h-%dh %.2f euros", horas, precio - 4.50);
    }
    printf(" total= %.2f euros", precio);
}

2. Cálculo de Impuestos sobre Salario

#include <stdio.h>

float calcular_impuesto(float salario) {
    float impuesto = 0;
    if (salario <= 12000) {
        impuesto = 0;
    } else if (salario > 12000 && salario <= 30000) {
        impuesto = salario * 0.15;
    } else if (salario > 30000 && salario <= 60000) {
        impuesto = 30000 * 0.15 + (salario - 30000) * 0.25;
    } else if (salario > 60000) {
        impuesto = 30000 * 0.15 + 30000 * 0.25 + (salario - 60000) * 0.45;
    }
    return impuesto;
}

int main() {
    float salario, impuesto;
    printf("¿Cuál es tu salario?");
    scanf("%f", &salario);
    impuesto = calcular_impuesto(salario);
    if (salario <= 12000) {
        printf("de 0-%.2f euros, 0 euros ", salario);
    } else if (salario > 12000 && salario <= 30000) {
        printf("de 0-12000 euros, 0 euros. De 12001-%.2f, %.2f euros. ", salario, impuesto);
    } else if (salario > 30000 && salario <= 60000) {
        printf("de 0-12000 euros, 0 euros. De 12001-30000 euros, 4500 euros. De 30001-%.2f, %.2f euros.", salario, impuesto);
    } else if (salario > 60000) {
        printf("de 0-12000 euros, 0 euros. De 12001-30000 euros, 4500 euros. De 30001-60000 euros, 7500 euros. De 60001-%.2f euros, %.2f euros.", salario, impuesto);
    }
    printf(" impuesto total= %.2f", impuesto);
}

3. Algoritmo de Ahorro Progresivo

#include <stdio.h>

float ahorrar(int dias) {
    int i;
    float ahorro = 0.01;
    for(i = 1; i < dias; i++) {
        ahorro = ahorro * 2;
    }
    return ahorro;
}

int main() {
    int dias;
    printf("¿Cuántos días quieres ahorrar?");
    scanf("%d", &dias);
    float total = ahorrar(dias);
    printf("%.2f", total);
    float dinero = 0.01;
    int dias100 = 1;
    while(dinero < 100) {
        dinero = dinero * 2;
        dias100++;
    }
    printf("Se tarda %d días en ahorrar al menos 100 euros\n", dias100);
}

4. Cálculo de Raíz Digital

#include <stdio.h>

int extraer_ultimo(int digito) {
    int suma = 0;
    while(digito > 0) {
        printf("%d", digito % 10);
        suma = suma + digito % 10;
        digito = digito / 10;
        if(digito > 0) {
            printf(" + ");
        }
    }
    return suma;
}

int main() {
    int digito;
    int pasos = 0;
    printf("Introduce un número: ");
    scanf("%d", &digito);
    while(digito > 9) {
        pasos++;
        printf("Paso %d: ", pasos);
        digito = extraer_ultimo(digito);
        printf(" = %d\n", digito);
    }
    printf("Raíz digital: %d\n", digito);
    printf("Encontrada en %d pasos\n", pasos);
}

Entradas relacionadas: