logo

rand() C:ssä

C-ohjelmointikielen rand()-funktiota käytetään pseudosatunnaislukujen luomiseen. Sitä käytetään C:ssä luomaan satunnaislukuja välillä 0 - RAND_MAX.

Rand()-funktio on osa tavallista C-kirjastoa joten käyttääksemme tätä toimintoa, meidän on sisällytettävä kirjasto.



randin() syntaksi

int rand (void)>

Parametrit

  • Tämä toiminto ei ota mitään parametreja.

Palautusarvo

  • Tämä funktio palauttaa arvon välillä 0 ja RAND_MAX, jossa RAND_MAX on kirjastossa määritetty makro.

Huomautus: Rand()-funktio käyttää oletusarvoisesti arvoa 1 siemenenä satunnaislukujen luomiseen, mikä johtaa saman satunnaislukusarjan luomiseen. Tämän estämiseksi voimme käyttää srand() funktio määrittääksesi uuden siemenen rand()-funktiolle.

Esimerkkejä rand():sta C:ssä

Esimerkki 1: rand()-funktion kuva

C








// 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;> }>

>

>

Lähtö

The Random Value is: 1804289383>

Aika monimutkaisuus : O(1)
Tilan monimutkaisuus: O(1)

Esimerkki 2: Luo 10 satunnaislukua

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;> }>

>

1-100 roomalainen nro

>

Lähtö

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

Mutta jos haluamme luoda satunnaislukuja välillä 0 - N, meidän on muutettava tulostamalla rand()-funktion generoimien lukujen modulo (N+1).

Esimerkki: Luo satunnaislukuja, jotka ovat pienempiä kuin 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;> }>

>

>

Lähtö

897 802 765 992 1 521 220 380 729 969>

Tällä tavalla voimme helposti generoida satunnaisluvun 0:sta N:ään.

Myös, jos haluamme satunnaisluvun, joka on välillä a alaraja ja yläraja , voimme tehdä tämän käyttämällä yksinkertaista matematiikkaa satunnaisluvulle, joka on generoitu rand()-funktiolla.

Esimerkki: Luo satunnaisia ​​lukuja vaihteluvälin sisällä

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;> }>

>

>

Lähtö

943 897 704 678 132 783 902 760 689 765>