Estaría bien que repasaras un poco tu código antes de preguntar. 
En la línea 10: 
for (j=1;i<10;++j), que supongo quieres decir: 
for (j=1;j<10;++j). También te aconsejo que en la línea 21 pongas 
printf ("%d ",a);, más que nada para poder distinguir los números  
 En todo caso lo hace mal, deja el mayor el primero, y los demás sí están ordenados.