Salve a tutti,
il problema richiede di riscrivere un numero al contrario;

La soluzione che ho adoperato è stato di scomporre il numero in cifre mediante l'algoritmo delle divisioni successive; Salvere le cifre in un vettore; Moltiplicare ogni singola cifra per il nuovo peso*

*345 = 3*10^2+4*10^1+5*10^0; Invertito, 543 sarà 5*10^2 + 4*10^1 + 3*10^0 ovvero ho invertito il peso delle cifre.

La funzione quindi ricevere come parametro in entrare il numero da invertire e darà in uscità il numero invertito.

Il codice della funzione è il seguente:

codice:
int inversione(int numero)
{
    int i,j;
    int vet[100];
    for(i=0; numero > 0; i++)
    {
             vet[i] = numero % 10;
             numero = numero / 10;   
             printf("%d\n",vet[i]); //debug     
    }
    printf("i= %d\n",i);//debug
    numero = 0;
    for(j=0; j < i; j++)
    {
            numero = numero + vet[j] * pow(10,i-j-1);
            printf("%d\n",numero); //debug 
    }
    return numero;
    
    
}
Per numeri con quantità di cifre pari funziona. Per i numeri con fire dispari il risutato è molto "random". Sapreste dirmi dov'è l'errore? o meglio, sicuramente sarà nell'assegnazione del valore della variabile "numero" all'interno dell'ultimo ciclo for, ma non riesco a capire quale sia.

Vi ringrazio in anticipo,
Neptune.