Random number generator in C
In this post, you will learn different ways to find the random number in the C programming language.
Such a type of logical question is generally asked in an interview or in competitive exams. This can be helpful to improve your logical programming skills and is helpful in game development and other logical application development.
Generate random number in C using rand() function
In C, the rand() function is used for pseudo number generator(PRNG) in the range [0, RAND_MAX]. As the rand() function is defined in the stdlib header file, so we need to implement the stdlib.h header file. Syntax-
int rand (void)
It returns the random integers whose range from 0 to RAND_MAX. The RAND_MAX is a symbolic constant that defines in stdlib.h header file, whose value is greater but less than 32767 depending on the C libraries.
#include <stdio.h>
void main()
{
// generating random numbers
printf (" The random number is: %d", rand());
printf ("\n The random number is: %d", rand());
printf (" \n The random number is: %d", rand());
printf ("\n The random number is: %d", rand());
}
Output of the above code:
The random number is: 1804289383
The random number is: 846930886
The random number is: 1681692777
The random number is: 1714636915
Generate 5 random numbers in C using rand() function
In the given C program, we use the for loop and rand() function to generate five random numbers.
#include <stdio.h>
void main()
{
int i, n;
n = 5;
// generating 5 random numbers
for( i = 0 ; i < n ; i++ ) {
printf("The random number: %d\n", rand());
}
}
Output of the above code:
The random number is: 1804289383
The random number is: 846930886
The random number is: 1681692777
The random number is: 1714636915
Generate n random number in C using rand() function and while loop
The given C program takes n(count of random numbers to generates) as input from the user and then generates n random numbers using the rand() function and while loop.
/*
* C program to print n random numbers between 1 to 100
*/
#include<stdio.h>
int main() {
int n, random;
printf("Enter number of random numbers: ");
scanf("%d", &n);
/* print n random numbers using rand function */
printf("Random numbers between 0 to 100: \n");
while(n--){
random = rand()%1000 + 1;
printf("%d\n", random);
}
return 0;
}
Output of the above code:
Enter number of random numbers: 5
Random numbers between 0 to 100:
384
887
778
916
794
Generate random number in C using srand() function
The C library function srand() is used to initialize the pseudo-random number generator by passing the argument seed and used by the function rand. Syntax-
void srand(unsigned int seed)
If the seed is set to 1 then the generator is reinitialized to its initial value. Then it will produce the results as before any call to rand and srand. This method does not return a value.
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main ()
{
printf("First random number: %d\n", rand() % 100);
srand( time(NULL) );
printf("Other random number: %d\n", rand() % 100);
srand( 1 );
printf("Again print first random number: %d\n", rand() %100);
return 0;
}
Output of the above code:
First random number: 83
Other random number: 7
Again print first random number: 83
Related Articles
Prime factors of a number in cArmstrong number program in c
Write a program to check leap year in c
C program to find area of rectangle
C program to convert celsius to fahrenheit
Fibonacci series program in C using recursion
Write a program to find area of circle in C
C program to find greatest of three numbers
C program for addition of two numbers
C program to calculate compound interest
C program to find the ASCII value of a character
C program to convert Decimal to Octal
C program to convert decimal to binary
Write a C program to calculate Simple Interest
C program to check whether a number is even or odd
C program to reverse a number
C program to check palindrome number
C program to check whether an alphabet is a vowel or consonant
Program to find square root of a number in C
C program to check whether a number is positive or negative