logo

rand() in C

De functie rand() in de programmeertaal C wordt gebruikt om pseudo-willekeurige getallen te genereren. Het wordt in C gebruikt om willekeurige getallen te genereren in het bereik 0 tot RAND_MAX.

De functie rand() maakt deel uit van de standaard C-bibliotheek dus om deze functie te gebruiken, moeten we de bibliotheek opnemen.



Syntaxis van rand()

int rand (void)>

Parameters

  • Deze functie gebruikt geen parameters.

Winstwaarde

  • Deze functie retourneert de waarde tussen 0 en RAND_MAX, waarbij RAND_MAX de macro is die in de bibliotheek is gedefinieerd.

Opmerking: De functie rand() gebruikt standaard de waarde 1 als zaad om willekeurige getallen te genereren, wat leidt tot het genereren van dezelfde reeks willekeurige getallen. Om dit te voorkomen kunnen we gebruik maken van strand() functie om een ​​nieuw zaad voor de functie rand() op te geven.

Voorbeelden van rand() in C

Voorbeeld 1: Illustratie van de functie rand().

C




uri versus url





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

>

een array van objecten java

>

Uitvoer

The Random Value is: 1804289383>

Tijdcomplexiteit : O(1)
Ruimtecomplexiteit: O(1)

Voorbeeld 2: Genereer 10 willekeurige getallen

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

>

>

numpy lijnruimte
Uitvoer

1804289383 846930886 1681692777 1714636915 1957747793 424238335 719885386 1649760492 596516649 1189641421>

Maar als we willekeurige getallen willen genereren in het bereik van 0 tot N, moeten we dit wijzigen door de modulo van (N+1) af te drukken van de getallen die worden gegenereerd door de functie rand().

Voorbeeld: Genereer willekeurige getallen kleiner dan 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;> }>

>

>

tweevoudig java
Uitvoer

897 802 765 992 1 521 220 380 729 969>

Op deze manier kunnen we eenvoudig het willekeurige getal van 0 tot N genereren.

Ook als we een willekeurig getal willen dat tussen a ondergrens En bovengrens , kunnen we dit doen door eenvoudige wiskunde te gebruiken op het willekeurige getal dat wordt gegenereerd door de functie rand().

Voorbeeld: genereer willekeurige getallen binnen een bereik

C


Java en swing



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

>

>

Uitvoer

943 897 704 678 132 783 902 760 689 765>