Change your while condition (e.g. to while (it++ < n)) and then you don't need to put the first copy outside the loop.

I would tend to say

    while (n--)

or

    for (it = 0; it < n; it++)