#define swapif(a,b) if(a>=b){ a^=b^=a^=b;}

void sort4(int* a, int* b, int* c, int* d)
{
swapif(*a,*b);
swapif(*a,*c);
swapif(*a,*d); // aが一番小さい数になる
swapif(*b,*c);
swapif(*b,*d); // bが次に小さい数になる
swapif(*c,*d); // ってな感じでソート完了
}

ifとか書いてくのめんどくさかったから、マクロにしちゃった。
こりゃネタにしかならんかな?