Ver Mensaje Individual
  #5 (permalink)  
Antiguo 17/12/2011, 17:29
meliton
 
Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 12 años, 5 meses
Puntos: 0
Sonrisa Respuesta: resolucion de problemas [Invertir número]

//Haber si te sirve esta solución mediante ciclos

//el primero calcula la cantidad de dígitos que tiene el número entero

#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)
{
int digito;
int nuevoNum=0;
int nCifras = numCifras(Num);

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