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.