Home > Common Problem > How to generate random numbers in c language

How to generate random numbers in c language

清浅
Release: 2020-10-12 16:14:22
Original
94763 people have browsed it

The rand() function can be used in C language to generate random numbers, which can generate random integers between 0 and RAND_MAX (32767). The random numbers are controlled by random seeds. You can use srand() to set the random number seeds. The default random number seed is 1; if you want to generate a random integer within 1-100, you need to use "rand() 0".

How to generate random numbers in c language

[Recommended tutorial: C language tutorial]

In C language, random numbers can be generated by using the rand function. The rand function generates integers in a specified order. However, the randomness generated in C language is not truly random and can sometimes be called pseudo-random numbers.

Before using rand() to generate random numbers, you need to use the initialization function srand (unsigned seed) of the random generator to initialize the pseudo-random number sequence. Seed is also called random seed, which means that if the seed provided is the same every time , then the random values ​​generated in each round are also the same, so they are called pseudo-random numbers, so a different seed value needs to be provided each time to achieve complete randomness. Usually in C language we use the time function time ( null) as seed, because the time value is different every second

Example:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(1);
    int i;
    for (i = 0; i < 10; i++)
    printf("%d, ", rand()%11); 
}
Copy after login

The result is: 8, 9, 9, 1, 7, 5, 5, 10, 1, 0,

The above result is the same no matter how many times it is run. The reason is that the random seed seed is 1

but when we change the seed value to time( null) The situation is different

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(NULL));
    int i;
    for (i = 0; i < 10; i++)
    printf("%d, ", rand()%11); 
}
Copy after login

The results are as follows: 6, 3, 4, 5, 5, 9, 8, 10, 10, 4

Click again: 6 , 4, 2, 4, 3, 2, 5, 1, 2, 9

Here, due to the effect of time(null), the seed keeps changing, that is, new random numbers are constantly generated

Recommended related articles: How to generate random numbers in javascript

##Summary: The above is the entire content of this article, I hope to be helpful

The above is the detailed content of How to generate random numbers in c language. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template