printf, comment insérer un point décimal pour un entier

J’ai un entier non signé UINT16 de say

 4455, 312, 560 or 70. 

Comment utiliser printf pour insérer une virgule décimale avant les deux derniers chiffres de sorte que les exemples de numéros apparaissent sous la forme

 44.55, 3.12, 5.60 or 0.70 

S’il n’y a pas de solution printf, y a-t-il une autre solution pour cela?

Je ne souhaite pas utiliser de virgule flottante.

%.2d pourrait append les zéros de remplissage supplémentaires

 printf("%d.%.2d", n / 100, n % 100); 

Par exemple, si n est 560 , le résultat est: 5.60

EDIT : UINT16 début, je n’avais pas remarqué que c’était UINT16 , selon le commentaire de @Eric Postpischil, il est préférable d’utiliser:

 printf("%d.%.2d", (int) (x/100), (int) (x%100)); 
 printf("%d.%.2d", x / 100, x % 100); 

Vous pouvez utiliser directement printf sans utiliser float

 printf("%d.%02d", num/100, num%100); 

% 02d signifie aligner à droite avec un remplissage nul.

 if num is 4455 ==>output is 44.55 if num is 203 ==>output is 2.03 

MODIFIER:
en voyant les commentaires de @ Eric Postpischil, il vaut mieux utiliser comme ceci.

 printf("%d.%02d", (int) (num/100), (int) (num%100));