Datoteka glave:
stdlib.h
Sintaksa:
int rand (void)
Vrnjene vrednosti:
Ta funkcija vrne naslednje psevdonaključno število v nizu. Vrednost obsega številčne serije je med 0 in RAND_MAX. RAND_MAX je makro, definiran v stdlib.h datoteka glave, katere vrednost je največja vrednost, ki jo lahko vrne funkcija rand (). Vrednost RAND_MAX je večja, vendar ne manjša od 32767, odvisno od knjižnic C.
// Primer1.c#include
#include
int main ()
int i;
printf ("10 naključnih števil = = \ n");
za (i = 0; i<10;i++)
printf ("% d", rand ());
printf ("\ n");
vrnitev 0;
V primeru1.c, v vsaki ponovitvi zanke for pokličemo funkcijo rand () in izpišemo vrnjeno vrednost funkcije. Zaporedje vrednosti funkcije rand () je vsakokrat, ko zaženemo program, enako. Privzeto je seme funkcije rand nastavljeno na 1.
S funkcijo rand lahko nastavimo seme za funkcijo rand srand () funkcijo. Seme lahko nastavite samo enkrat in pred prvim rand () klic funkcije.
srand () funkcija:
Datoteka glave:
stdlib.h
Sintaksa:
int srand (nepodpisano int seme)
Argumenti:
Ta funkcija ima 1 argument
seme: Celoštevilčna vrednost, ki se uporablja kot seme za novo serijo psevdonaključnih števil.
Vrnjene vrednosti:
Nobenega
// Primer2.c#include
#include
#include
int main ()
int i;
srand (čas (0));
printf ("10 naključnih števil = = \ n");
za (i = 0; i<10;i++)
printf ("% d", rand ());
printf ("\ n");
vrnitev 0;
V primeru2.c, s funkcijo srand () smo nastavili začetno seme zaporedja naključnih števil, ki ga generira funkcija rand (). Vsakič, ko se program zažene, se ustvari drugačno zaporedje. V srand (), funkcija time (0) (deklarirana v čas.h header file) se uporablja kot seme. Funkcija this time (0) vrne število sekund, ki je preteklo od epohe (00:00:00, 1. januar 1970). To lahko še vedno povzroči enaka zaporedja, če zaženete program v isti sekundi.
#include
#include
#include
int main ()
int i;
srand (čas (0));
printf ("10 naključnih števil med 1 in 10 => \ n");
za (i = 0; i<10;i++)
printf ("% d", (rand ()% 10) + 1);
printf ("\ n");
vrnitev 0;
V primeru3.c videli smo, kako lahko naključne številke generiramo med 1 in 10.
#include
#include
#include
int main ()
int i, max, min;
printf ("Enter Min value =>");
scanf ("% d", & min);
printf ("Enter Max value =>");
scanf ("% d", & max);
če (min> max)
printf ("Najmanjša vrednost je večja od največje vrednosti \ n");
vrnitev 0;
srand (čas (0));
printf ("10 naključnih števil med% d in% d => \ n", min, max);
za (i = 0; i<10;i++)
printf ("% d", (rand ()% (max - min +1)) + min);
printf ("\ n");
vrnitev 0;
V primeru4.c od uporabnika smo vzeli obseg in znotraj tega obsega ustvarili naključno število. Formula je: rand ()% (max - min +1)) + min
#include
#include
#include
int main ()
int i;
srand (čas (0));
printf ("10 naključnih števil med 0.0 in 1.0 => \ n ");
za (i = 0; i<10;i++)
printf ("% f", ((float) rand () / RAND_MAX));
printf ("\ n");
vrnitev 0;
V primeru5.c, videli smo, kako lahko med floatom 0 ustvarimo naključna števila.0 in 1.0 Formula je: (float) rand () / RAND_MAX)
#include
#include
#include
int main ()
int i;
plovec max, min;
printf ("Enter Min value =>");
scanf ("% f", & min);
printf ("Enter Max value =>");
scanf ("% f", & max);
če (min> max)
printf ("Najmanjša vrednost je večja od največje vrednosti \ n");
vrnitev 0;
srand (čas (0));
printf ("10 naključnih števil med% f in% f => \ n", min, max);
za (i = 0; i<10;i++)
printf ("% f", min + ((float) rand () / (RAND_MAX / (max - min))));
printf ("\ n");
vrnitev 0;
V primeru6.c, od uporabnika smo vzeli obseg in znotraj tega obsega ustvarili naključno število (vključno z obema). Formula je: min + ((float) rand () / (RAND_MAX / (max - min)))
Zaključek:
V tem članku smo izvedeli, kako lahko naključne številke generiramo s pomočjo rand () in srand () funkcijo. Za kakovost naključnih številk, ustvarjenih s funkcijo rand, ni nobenih jamstev, je pa dovolj dobra za priložnostno uporabo.