it's a print parameter, I'll break it down for you:
% is the special character letting the printf know, Hey! This is indicating some data you should display
5 indicates that it should display at least 5 characters and will pad with extra blank space on the left (but won't truncate).
.3 indicates that it should display at least 3 numbers and will pad with 0s on the left. If it were a float it would do something different but that's another story.
d indicates that it's printing a signed decimal integer, so
So for example if you tried to printf("%5.3d",5) you would get " 005"
Also, see here:
http://www.cplusplus.com/reference/clib ... io/printf/