17/12/2011, 17:23
|
| | Fecha de Ingreso: diciembre-2011
Mensajes: 2
Antigüedad: 13 años Puntos: 0 | |
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;
} |