Cita de: NOB2014 en 9 Septiembre 2014, 21:40 PMestoy trabado con la última parte la de intercambio de dígitos, lo he intentado de varias manera pero no me funciono.Nada impide que proceses cada uno de los dígitos empezando con el menos significativo y terminando con el mas, lo usual mediante el uso del cociente y el residuo de la división entre diez. Una vez obtenido el nuevo dígito lo multiplicas por la potencia de diez necesaria para colocarlo en la posición correcta, de esta forma:
Código (c) [Seleccionar]
#include <stdio.h>
int main(void)
{
int pot[] = {100, 1000, 1, 10};
int num = 5724;
int res = 0;
int i;
for (i = 0; i < 4; i++, num /= 10)
res += (num + 7) % 10 * pot[i];
printf("%d\n", res);
return 0;
}
Un saludo