Call routines SORTN and SORTC can order an array in ascending order only. What if you want to order it in descending order? Here is an easy way!
 
data _null_;
  array arr[*] v1-v5 (1 2 3 4 5);
  put "before:" (v1-v5) (= +1);
  /* reverse the variable list in a new array definition and sort */
  array rev[*] v5-v1;
call sortn(of rev[*]);
put "after :" (v1-v5) (= +1);
run;
/* on log
   before: v1=1  v2=2  v3=3  v4=4  v5=5
   after : v1=5  v2=4  v3=3  v4=2  v5=1
*/
For a detailed discussion on variable lists, see Using SAS Variable Lists Effectively |Schreier (2011).
Thanks to chang_y_chung for sharing this tip on sasCommunity.org.