Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2011, 18:18
reethok
 
Fecha de Ingreso: abril-2011
Mensajes: 224
Antigüedad: 13 años
Puntos: 8
Pregunta Función que toma un número y lo devuelve con los dígitos invertidos

Bueno... hice esta función (lo incluí en un sencillo programa), y me gustaría saber si hay una forma más óptima de hacer lo mismo:

Código C:
Ver original
  1. #include <stdio.h>
  2.  
  3. int inversa(int num);
  4.  
  5. int main()
  6. {
  7.     int numero;
  8.    
  9.     printf("Escriba un numero: ");
  10.     scanf("%d", &numero);
  11.     numero = inversa(numero);
  12.     printf("\nLa inversa de numero es %d\n", numero);
  13.     getch();
  14.     return 0;
  15. }
  16.  
  17. int inversa(int num)
  18. {
  19.     int n1 = num / 1000000;
  20.     int n2 = (num % 1000000) / 100000;
  21.     int n3 = ((num % 1000000) % 100000) / 10000;
  22.     int n4 = (((num % 1000000) % 100000) % 10000) / 1000;
  23.     int n5 = ((((num % 1000000) % 100000) % 10000) % 1000) / 100;
  24.     int n6 = (((((num % 1000000) % 100000) % 10000) % 1000) % 100) / 10;
  25.     int n7 = (((((num % 1000000) % 100000) % 10000) % 1000) % 100) % 10;
  26.    
  27.     return (n7 * 1000000) + (n6 * 100000) + (n5 * 10000) + (n4 * 1000) +
  28.            (n3 * 100) + (n2 * 10) + n1;
  29. }

Saludos! ^^