Heu déjà premièrement la boucle ne va se faire que 10 fois, ce qui fait que ton tableau ne sera jamais entièrement rangé 
Car en effet ça ne compare les valeurs que deux à deux, je sais pas comment t'expliquer clairement mais ça ne marchera pas (fais moi confiance
)
Il faudrait faire par dessus cette boucle une autre boucle, avec une valeur suffisamment grande, comme 100 par exemple (taille du tableau au carré). Ainsi toutes les valeurs du tableau seront comparées deux à deux plusieurs fois et le tableau sera bien rangé
Ensuite je ne comprends pas trop à quoi sert ta variable temp 
Tu dois faire un autre tableau pour y entrer les valeurs rangées dans l'ordre croissant
Mais sinon il y a de l'idée
J'avais déjà fait un exo du genre, voila ce que j'avais fait (ça fonctionnais) :
/* Fonction qui range par ordre croissant les données d'un tableau dont les valeurs sont rangées dans un ordre quelconque */
void ordonnerTableau(long tableau_ord[], long tailleTableau2)
{
long i=0;
/* Affichage des valeurs contenues dans le tableau : */
printf("\nLes variables du tableau :\n");
for(i=0; i<tailleTableau2; i++)
{
printf("\n\t%ld", tableau_ord[i]);
}
long j=0;
long k=0;
long m=0;
long a=0;
/* Rangement par ordre croissant */
while (m<tailleTableau2*tailleTableau2)
{
if (tableau_ord[j] < tableau_ord[j+1])
{
tableau_ord[k] = tableau_ord[j];
tableau_ord[k+1] = tableau_ord[j+1];
j++;
k++;
}
else if (tableau_ord[j] > tableau_ord[j+1])
{
a=tableau_ord[j];
tableau_ord[k] = tableau_ord[j+1];
tableau_ord[k+1] = a;
j++;
k++;
}
else if (tableau_ord[j] == tableau_ord[j+1])
{
tableau_ord[k] = tableau_ord[j];
j++;
k++;
}
while (j == tailleTableau2)
{
j=0;
}
while (k == tailleTableau2)
{
k=0;
}
m++;
}
printf("\nValeurs contenues dans le tableau classées par ordre croissant :\n");
k=0;
for (k=0; k<tailleTableau2; k++)
{
printf("\n\t%ld", tableau_ord[k]);
}
}