sustituir un dígito por otro
/*
- Pedir un numero de entre 3 y 7 digitos, en caso de que
no este en ese rango volver a pedirlo.
- Pedir dos valores a y b entre 0 y 9, en caso de que no
este en ese rango volver a pedirlo.
- Susituir en el numero inicial el digito a por el digito b
mostrando por pantalla la suma del valor inicial y el valor final.
2325
a:2
b:1
1315
2325 + 1315 = 3640
*/
int a = 0;
int b = 0;
printf("\n\n");
do{
printf("Introduce un numero que tenga entre 3 y 7 digitos: ");
scanf("%d", &n);
}while(n < 100 || n > 10000000 );
printf("Okey, tu numero es correcto\n\n");
do{
printf("Introduce dos valores a y b entre 0 y 9\n");
printf("a: ");
scanf("%d", &a);
printf("b: ");
scanf("%d", &b);
}while(a < 0 || a > 9 || b < 0 || b > 9);
printf("Okey, tus valores son correctos\n");
//Susituir en el numero inicial el digito a por el digito b
int aux = n;
int digito, potencia = 1, nuevo = 0;
while(aux > 0){
digito = aux % 10; //me da el ultimo digito
if(digito == a){
digito = b;
}
nuevo = nuevo + digito * potencia;
potencia = potencia * 10;
aux = aux / 10;
}
printf("inicial: %d\n", n);
printf("final: %d\n", nuevo);
printf("La suma de ambos es: %d\n", n + nuevo);