RAND_MAXが 0x7ffffff で255くらいまでの乱数なら
rand() % n;
で、実用上ほとんど問題ないと思うんだが。

つか、おまいら、上にあげたような面倒なことしてないだろ?!
正直に吐いてごらん。