Puoi prendere un array di dimensione massima n (dove n è il numero massimo di elementi che hai scelto per il tuo array). Inizializzare l' array con un valore che non utilizzi, ad esempio -1. Una volta inizializzato l' array prendi il numero ed in un corpo while lo dividi per 10 e il resto lo assegni alla posizione i-ma dell' array. Dal momento che i valori saranno nell' ordine inverso rispetto a quello iniziale (ad esempio se hai 1234 ottieni nell array a[0] = 4, a[1] = 3, ...) in un ciclo while stamperai i valori da n-1 a i >= 0. Per conoscere il numero di cifre usi una variabile di tipo int che, nel ciclo while in cui stampi le cifre dell' array, aumenti di 1 se l'elemento dell' array è diverso da -1.

Codice PHP:
#include <stdio.h>
#include <stdlib.h>
#define MAX 10

int main()
{
   
int a[MAX];
   
int num 0;
   
int i 0count 0;

   
printf("Inserisci un intero: \n");
   
scanf("%d", &num);
  
   while(
MAX){
      
a[i] = -1
      i
++;
   }

   
0;
   while(
num != && MAX){
      
a[i]  = num 10;
      
num num 10;
      
i++;
   }

   
MAX 1;
   while(
>= 0){
      if(
a[i] != -1)
      {
        
printf("%d"a[i]);
        
count++;
      }
      
i++;
   }
   
printf("\nIl numero è formato da cifre: %d"count);
 

   return 
0;