How to generate random numbers in a specific range in C

1 Answer

0 votes
#include <stdio.h>
#include <stdlib.h>
#include <time.h> 

int RandXY(int min, int max);

int main(void)
{
    int i, n;
  
    for (i = 0; i < 13; i++)
    {
        n = RandXY(3, 7);
        printf ("%d\n", n);
    }
  
    return 0;
}

int RandXY(int min, int max)
{
    static int ones = 0;
    int rn;
  
    if (ones == 0)
    {
        srand(time(NULL));
        ones = 1;
    }
 
    rn = rand() % (max - min + 1) + min;
  
    return rn;
}

/*

run:

4
5
4
6
6
7
6
6
6
5
4
4
3

*/




answered Sep 11, 2014 by avibootz
edited May 22, 2015 by avibootz
...