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...
revertido = revertido
+ ultima_cifra
* (int)pow(10,contador
); printf( "%d %d %f %f\n\n", revertido
, ultima_cifra
, pow( 10, contador
), revertido
+ ultima_cifra
* pow( 10, contador
)); ...
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...
int numero, nrodigitos;
// leer numero
nrodigitos
= (int)log10(numero
)+1;...
Saludos.