Escriba un programa que reciba un número entero por teclado y devuelva otro entero con los dígitos en reversa.
Código:
Hasta ahora llevo sólo esto, busqué cuantas cifras tiene el numero entero ingresado.#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; }
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!.