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);
}