Selection sort review. Does it look good?
You don't need two arrays, it works with one too, simply swap the
values. This needs less memory.
According to this:

int i, high = 0, k, j = 9, store;


j is always one less than the size of the array. Don't use magic numbers, use the constant.
If you want to reuse this selection_sort it would be adviseable to
add a parameter for the size, so you don't need the global constant.
In the inner loop you also iterate through the array parts which also have been sorted. (This may also be the reason you choose to use two arrays)
The result may be wrong if you'd only have negative values in the array (due high = 0)


Here my improved implementation:

void selection_sort(int *num, size_t size)
{
    size_t k, i, j, store; // for indexes
    int high, swap; // for values

    // no need to sort if the array is short enough
    if(size &lt;= 1) return;

    high = INT_MIN; // set the highest number to the minium
    j = size - 1;

    for(k = 0; k &lt; size; k++, j--)
    {
      for(i = 0; i &lt;= j; i++)
      {
         if(num[i] &gt;= high)
         {
             high = num[i];
             store = i;
         }
      }

      // swap the highest number with the number at the last position
      // in the array
      swap = num[j]; 
      num[j] = num[store]; 
      num[store] = swap;
      high = INT_MIN; // reset the highest number
    }
}


There is also a similar implementation on Wikipedia