Hata bende şimdi farkettim.

if(k==9 || k==8 || k==7 || k==6 || k==5 || k==4 || k==3 || k==2 || k==1)
printf("%d ",k--);
else
printf("%d ",k--);

burada her iki printf de aynı değilmiş. "%d " içindeki boşluk sayısı farklıymış. o gözümden kaçmış.
özür...
Güzel paylaşım elinize sağlık.