Funkcija rand() programmēšanas valodā C tiek izmantota pseidogadījuma skaitļu ģenerēšanai. To izmanto C, lai ģenerētu nejaušus skaitļus diapazonā no 0 līdz RAND_MAX.
Funkcija rand () ir daļa no standarta C bibliotēkas tāpēc, lai izmantotu šo funkciju, mums ir jāiekļauj bibliotēka.
rand() sintakse
int rand (void)>
Parametri
- Šī funkcija neņem nekādus parametrus.
Atdeves vērtība
- Šī funkcija atgriež vērtību no 0 līdz RAND_MAX, kur RAND_MAX ir bibliotēkā definētais makro.
Piezīme: Funkcija rand() pēc noklusējuma izmanto vērtību 1 kā sēklu, lai ģenerētu nejaušus skaitļus, kas noved pie tādas pašas nejaušu skaitļu secības ģenerēšanas. Lai to novērstu, mēs varam izmantot srand () funkcija, lai norādītu jaunu sēklu funkcijai rand().
rand() piemēri valodā C
1. piemērs: funkcijas rand() ilustrācija
C
python rstrip
// C program to illustrate the use of rand() function> #include> #include> > int> main()> {> >// Generate a random number using the rand() function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'The Random Value is: %d'>, value);> > >return> 0;> }> |
>
>Izvade
The Random Value is: 1804289383>
Laika sarežģītība : O(1)
Kosmosa sarežģītība: O(1)
2. piemērs: ģenerējiet 10 nejaušus skaitļus
C
// C program to generate 10 random number using rand()> // function> #include> #include> > int> main()> {> >int> i = 0;> >// Loop through 10 times> >for> (; i <10; i++) {> >// Generate a random number using the rand()> >// function> >int> value =>rand>();> > >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }> |
>
>Izvade
1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>
Bet, ja mēs vēlamies ģenerēt dažus nejaušus skaitļus diapazonā no 0 līdz N, mums ir jāveic izmaiņas, izdrukājot (N+1) skaitļu moduli, ko ģenerē funkcija rand().
Piemērs: ģenerējiet nejaušus skaitļus, kas ir mazāki par N
C
// C program to generate random numbers smaller than a> // particular number n> #include> #include> int> main()> {> >// Set a constant 'N' to 1000> >int> N = 1000;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number between 0 and N using> >// the rand() function> >int> value =>rand>() % (N + 1);> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }> |
>
>Izvade
897 802 765 992 1 521 220 380 729 969>
Tādā veidā mēs varam viegli ģenerēt nejaušo skaitli no 0 līdz N.
Tāpat, ja mēs vēlamies nejaušu skaitli, kas pastāvēs starp a apakšējā robeža un augšējā_ robeža , mēs to varam izdarīt, izmantojot vienkāršu matemātiku nejaušajam skaitlim, ko ģenerē funkcija rand ().
Piemērs: ģenerējiet nejaušus skaitļus diapazonā
C
// C program to illustrate how to generate random number> // withing a range> #include> #include> int> main()> {> >// Set the upper bound for random numbers> >int> upper_bound = 1000;> >// Set the lower bound for random numbers> >int> lower_bound = 100;> > >// Loop through 10 times> >for> (>int> i = 0; i <10; i++) {> >// Generate a random number within the specified> >// bounds> >int> value =>rand>() % (upper_bound - lower_bound + 1)> >+ lower_bound;> >// Print the generated random value> >printf>(>'%d '>, value);> >}> > >return> 0;> }> |
>
>Izvade
943 897 704 678 132 783 902 760 689 765>