En toute amitié rtfm ;) :
man srand:
/*
La fonction rand() renvoie un entier pseudo-aléatoire
entre 0 et RAND_MAX.
La fonction srand() utilise son argument comme "graine"
pour la génération d'une nouvelle séquence de nombres
pseudo-aléatoires, qui seront fournis par rand(). Ces
séquences sont reproductibles en appelant srand() avec la
même valeur de graine.
Si aucune graine originale n'est fournie, la fonction
rand() commence en utilisant la valeur 1.
*/
donc d'après le man t'a fonction doit etre:
int my_rand(int NMAX)
{
return (1+(int) (NMAX*rand()/(RAND_MAX+1.0)));
}