La funzione Ordina deve prendere i parametri come puntatori e quindi...

codice:
void ordinaAsc(int *a, int *b, int *c)
{
	int temp = 0;
	if(*a > *b)
	{
		temp = *a;
		*a = *b;
		*b = temp;
	}
//ne ho fatto un pezzo per farti capire...però è da finire
}

In questo modo quello che passi alla funzione sono gli indirizzi dei tre numeri.
A questo punto dentro il metodo posso spostare i valori come voglio, perchè tanto li sposto da un indirizzo all'altro.

Quando esco, i valori rimangono nella posizione in cui li avevo spostati dentro il metodo, e quindi me li ritrovo ordinati.

Se passassi i numeri per valore ( quindi senza '*'), dentro il metodo avrei solo una copia dei valori,e non il riferimento a loro.