¿Imprimiendo los primeros 0 en C?

Estoy tratando de encontrar una buena manera de imprimir los primeros 0, como 01001 para un código postal. Si bien el número se almacenaría como 1001, ¿cuál es una buena manera de hacerlo?

Pensé en usar cualquiera de las dos declaraciones de caso / si luego para calcular cuántos dígitos es el número y luego convertirlo en una matriz de caracteres con 0 adicionales para imprimir, pero no puedo evitar pensar que puede haber una manera de hacer esto con el Sintaxis del formato printf que me está eludiendo.

Respuestas a la pregunta(10)

Su respuesta a la pregunta