tienes un problema logico en tu operación
for (i=0;i<n;i++) {
cifra=n%10;
n=n/10;
v=cifra;
}
primera linea: para i empezando en 0, mientras que i
sea menor que nen este caso si el numero por ejemplo es 118
ciclo1:
i=0
cifra = 8
n = 11
v = 8
imprime 8
-------
ciclo2:
i=1
cifra = 1
n = 1
v = 1
imprime 1
-------
ciclo:
i = 2.... n en el ciclo2 era 1 por lo tanto al ser 2>1 se rompe el for
el codigo deben cambiar la linea del for por
while(n){
esto hará que se repita mientras que
n no sea 0(que será interpretado como false y terminará el codigo)...
por otro lado aunque no te afecta realmente, tienes una incoherencia con ese puntero a
v no tiene mucho sentido