Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/12/2011, 17:23
meliton
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 12 años, 4 meses
Puntos: 0
Sonrisa Respuesta: invertir numeros

Bueno, espero que te sirva este código:

solo utiliza dos funciones, con la primera contamos los dígitos que tiene el número entero y posteriormente podemos obtener el número entero invertido.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

int invierteEntero(int N);
int numCifras(int N);

int main()
{
int num, nnum;
printf("Introduzca un número: ");
scanf("%d", &num);
nnum= invierteEntero(num);
printf("\nNuevo número = %d", nnum);
printf("\nY se puede sumar numero %d + nuevo numero %d = %d",
num, nnum, num + nnum);

return 0;
}

int numCifras(int Num)
{
//Calcula cuantas cifras tiene el número entero
int N=0;

while(Num > 0)
{
Num = Num / 10;
N++;
}
return N;
}

int invierteEntero(int Num)
{
//Con esta función se obtiene el número invertido
int digito;
int nuevoNum=0;
//primeramente debo saber cuantas cifras tiene el numero entero
int nCifras = numCifras(Num);

while(Num > 0)
{
digito = Num - (Num / 10) * 10;
nuevoNum += digito * pow(10, --nCifras);
Num /= 10;
}
return nuevoNum;
}