Ver Mensaje Individual
  #7 (permalink)  
Antiguo 02/09/2014, 22:02
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 12 años, 5 meses
Puntos: 22
Respuesta: Revirtiendo un número con función pow

Hola Virtualforos.

No noto nada extraño, cuando la variable revertido muestra el valor cero es por que aún no se le ha asignado otro valor que el de inicialización.
Sólo cambia el órden de las líneas de este modo:
Código C:
Ver original
  1. ...
  2.   revertido = revertido + ultima_cifra * (int)pow(10,contador );
  3.   printf( "%d %d %f %f\n\n", revertido, ultima_cifra, pow( 10, contador ), revertido + ultima_cifra * pow( 10, contador ));
  4. ...
y aparecerá la unidad perdida.

En cuanto a las etiquetas de formato, fijate que en la parte superior derecha del editor de mensajes hay un combo que por defecto tiene la palabra "Highlight", desplega el combo y selecciona entre las diferentes opciones (entre las que figuran C y C++).

Como dato adicional si el requisito es usar funciones de la librería math, igualmente podes trabajar con numeros de longitud variable. Para obtener la cantidad de dígitos de un número podes hacer:
Código C:
Ver original
  1. ...
  2.   int numero, nrodigitos;
  3.   // leer numero
  4.   nrodigitos = (int)log10(numero)+1;
  5. ...

Saludos.