Potresti fare in questo modo (già testato) :
Codice PHP:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int size = 10; /*Numero di cifre massimo*/
int num = 1234567;
int copia_num = num; /*Una copia di num usata nel ciclo while*/
int pot = 0; /*Potenza di 10 alla n*/
int count = 0; /*Variabile per contare il numero di cifre*/
while(num != 0 && size >= 0)
{
pot = pow(10, size); /*Inizio con la potenza maggiore*/
num = num / pot;
if(num != 0){ /*Se num è != 0 stampo la divisione fatta e incremento la variabile count di 1*/
printf("\nDivido per %d: %d", pot, num);
count++;
}
num = copia_num; /*Assegno copia_num a num per la divisione successiva*/
size--; /*Decremento size per ottenere una potenza più piccola*/
}
printf("\nIl numero %d è di cifre numero: %d", copia_num, count);
return 0;
}