Ciao, sto imparando ora a programmare C.
Voglio scrivere un programma per scomporre un numero tra 1 e 32767 nelle cifre reparate da 2 spazi (esempio 4562 deve essere stampato come 4 5 6 2).
Per ora ho trovato questa soluzione.
int a, i;
main(){
printf("Inserisci un numero ( tra 1 e 32767): \n");
scanf("%d", &a);
for (i = 10000; i >= 1; i /= 10) //cicla a scalare i multipli di 10
{
// riduce i fino a ottenere quoziente divero da 0
if( a / i == 0){
a %= i;
}
else{
printf("%d ", a / i);
a %= i;
//a == a % i; // questa forma non funziona??
}
}
}
Come si potrebbe fare meglio?
Non capisco perchè se utilizzo l'ultima istruzione invece della penultima il risultato è sbagliato:
sul numero 4562 ottengo
4 45 456 4562.
Grazie