What makes you believe that rand() only produces one random value per second? Have you profiled it? What is the speed of your computer? A computer with a faster CPU will process code faster. I wrote a little program that generated 1,000,000 randm numbers on 43 millisonds and if I add the mod operator like you posted it generates them in 62 milliseconds.
If you are looking to speed up a program then look elsewhere.
I am actually not sure that it produces per second, but I guessed so because when I execute this code multiple times a second it gives same result, how can I make it give different results faster without using a faster CPU?
You are using time() as the seed to srand(). Call srand() only once during the lifetime of the program, not every time you call rand(). Put the call to srand() near the beginning of main() and you will see different results every time rand() is called.