rand() function declared in the stdlib.h header file returns random numbers.

int chosen = 0; chosen = rand(); // Set to a random integer

Each time you call the rand() function, it will return a random integer.

The value will be from zero to a maximum of RAND_MAX, the value of which is defined in stdlib.h.

The integers generated by the rand() function are described as pseudo-random numbers.

The sequence of numbers generated by the rand() function uses a starting seed number.

For a given seed the sequence will always be the same.

To get a different sequence of pseudo-random numbers each time a program is run, you can use the following statements:

srand(time(NULL)); // Use clock value as starting seed int chosen = 0; chosen = rand(); // Set to a random integer 0 to RAND_MAX

You only need to call srand() once in a program to initialize the sequence.

Each time you call rand() subsequently, you'll get another pseudo-random number.

To obtaining values in a range:

srand(time(NULL)); // Use clock value as starting seed int limit = 20; // Upper limit for pseudo-random values int chosen = 0; chosen = rand() % limit; // 0 to limit-1 inclusive

To get numbers from 1 to limit, you can write this:

```
chosen = 1 + rand() % limit; // 1 to limit inclusive
```

The following code shows how to let user guess a random number.

#include <stdio.h> #include <stdlib.h> // For rand() and srand() #include <time.h> // For time() function int main(void) { int chosen = 0; // The lucky number int guess = 0; // Stores a guess int count = 3; // The maximum number of tries int limit = 20; // Upper limit for pseudo-random values srand(time(NULL)); // Use clock value as starting seed chosen = 1 + rand() % limit; // Random int 1 to limit printf("\nThis is a guessing game."); printf("\nI have chosen a number between 1 and 20" " which you must guess.\n"); for (; count > 0; --count) {/*from w w w .j a va 2 s. c o m*/ printf("\nYou have %d tr%s left.", count, count == 1 ? "y" : "ies"); printf("\nEnter a guess: "); // Prompt for a guess scanf("%d", &guess); // Read in a guess // Check for a correct guess if (guess == chosen) { printf("\nCongratulations. You guessed it!\n"); return 0; // End the program } else if (guess < 1 || guess > 20) // Check for an invalid guess printf("I said the number is between 1 and 20.\n "); else printf("Sorry, %d is wrong. My number is %s than that.\n", guess, chosen > guess ? "greater" : "less"); } printf("\nYou have had three tries and failed. The number was %ld\n", chosen); return 0; }

- Mathematical Functions
- Exploring common math functions
- Show Trigonometry sin graph
- Show Trigonometry cosine wave
- Generate random number with rand() function
- Seed the random numbers
- Seed the random numbers using current time