条件6通り程度なら並べて比較してダメならやりなおせばいい、か。
素人くさいけどヘタウマというかカコイイ!!
アリだと思います。

int i,a[4];
for{;;}
 for(i=0;i<4;i++)a[i]=rand()%9+1;
 if((a[0]!=a[1])&(a[0]!=a[2])&(a[0]!=a[3])
  &(a[1]!=a[2])&(a[1]!=a[3])
  &(a[2]!=a[3])) break;
}