• Viernes 15 de Noviembre de 2024, 05:27

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - chivomd

Páginas: [1]
1
C/C++ / Función recursiva para invertir número
« en: Lunes 27 de Octubre de 2008, 19:02 »
Hola, he estado ojeando vuestra web y he pensado que quizás podríais ayudarme con este problema: se trata de invertir un número introducido por teclado de manera recursiva. El problema viene al introducir un número de 3 o más dígitos, ya que solo invierte dos dígitos, dejando el que en teoría debería de estar primero al final(por ejemplo, 123 queda como 213).

He aquí el código que he hecho:

Código: Text
  1. #include <stdio.h>
  2.  
  3. int invertir(int n);
  4.  
  5. main() {
  6.  
  7.     int n;
  8.     printf("Introduce un numero entero positivo: ");
  9.     scanf ("%d",&n);
  10.     printf ("El numero invertido es: %dn",invertir(n));
  11. }
  12.  
  13. int invertir(int n){
  14.     int inv=0;
  15.     if (n<10){
  16.         inv=n;
  17.     }
  18.     else if ((n/10)<10){
  19.         inv=(10*(n%10))+(n/10);
  20.     }
  21.     else{
  22.         inv=(n%10)+(invertir(n/10)*10);
  23.     }
  24.     return(inv);
  25. }
  26.  
  27.  

Un saludo y muchas gracias de antemano.

Páginas: [1]