Hola, debo de hacer esto:
Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los dígitos en reversa.
Código:
#include <stdio.h>
#include <stdlib.h>
/*
Tema V. Funciones
2. Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los
dígitos en reversa.
*/
int ContarCifras(int liNumero)
{
int liCifras = 0;
//Buscamos cuántas cifras tiene el número entero ingresado
while (liNumero >= 1)
{
liNumero = liNumero / 10; //Obtenemos el número original pero sin la última cifra
liCifras++;
}
return liCifras;
}
int main()
{
//Declaración de variables
int liNumero, liCifras, liContador, liResto, laiArreglo[11], liNuevoEntero = 0;
//Entrada de datos
printf("Ingrese un n%cmero entero: ", 163);
scanf("%d", &liNumero);
//Procesamiento
liCifras = ContarCifras(liNumero); //Llamamos a la función para contar cuántas cifras tiene el número entero ingresado
for (liContador = 0; liContador < liCifras; liContador++)
{
liResto = liNumero%10; //Obtenemos la última cifra del número
liNumero = liNumero/10; //Obtenemos el número original pero sin la última cifra
laiArreglo[liContador] = liResto; //Guardamos la última cifra en un arreglo
}
for (liContador = 0; liContador < liCifras; liContador++)
{
liNuevoEntero += laiArreglo[liContador] * 100 * 10;
}
//Salida de datos
return 0;
}
Hasta ahora llevo sólo esto, busqué cuantas cifras tiene el numero entero ingresado.
Sé que si se tiene 3 números (A= 1, B=2, B=3), entonces:
Variable = (A * 100) + (B* 10) + C;
Variable = 123
Pero, y en un arreglo con muchos números, como los asigno todos en una variable?, cual es el procedimiento correcto?.
Espero que me ayuden, salidos!.