Fejlécfájl:
stdlib.h
Szintaxis:
int rand (érvénytelen)
Visszatérési értékek:
Ez a függvény a sorozat következő álvéletlenszámát adja vissza. A számsor tartománytartománya 0 és RAND_MAX között van. A RAND_MAX egy makró stdlib.h fejlécfájl, amelynek értéke a maximális érték, amely rand () függvénnyel visszatérhet. A RAND_MAX értéke nagyobb, de nem kevesebb, mint 32767, a C könyvtáraktól függően.
// Példa1.c#include
#include
int main ()
int i;
printf ("10 véletlenszerű szám => \ n");
mert (i = 0; i<10;i++)
printf ("% d", rand ());
printf ("\ n");
visszatér 0;
Az 1. példában.c, meghívjuk a rand () függvényt a ciklus minden iterációjában, és kinyomtatjuk a függvény visszatérési értékét. A rand () függvény értéksorozata a program minden egyes futtatásakor ugyanaz. Alapértelmezés szerint a rand függvény magja 1-re van állítva.
A Rand függvény magját beállíthatjuk a srand () funkció. A vetőmagot csak egyszer lehet beállítani, és még az első alkalommal rand () függvényhívás.
srand () függvény:
Fejlécfájl:
stdlib.h
Szintaxis:
int srand (aláíratlan int mag)
Érvek:
Ehhez a függvényhez 1 argumentum szükséges
mag: Egész álérték véletlenszerű számok új sorozatának magjaként.
Visszatérési értékek:
Egyik sem
// 2. példa.c#include
#include
#include
int main ()
int i;
srand (idő (0));
printf ("10 véletlenszerű szám => \ n");
mert (i = 0; i<10;i++)
printf ("% d", rand ());
printf ("\ n");
visszatér 0;
A 2. példában.c, az srand () függvénnyel beállítottuk a rand () függvény által generált véletlenszám-szekvencia kezdő magját. A program minden egyes futtatásakor egy másik sorrend jön létre. Az srand () - ben az idő (0) függvény (deklarálva idő.h fejlécfájl) magként használatos. Ez az idő (0) függvény adja vissza a korszak (1970. január 1., 00:00:00, 1970. január) óta eltelt másodpercek számát. Ez továbbra is ugyanazokat a szekvenciákat eredményezheti, ha a programot ugyanabban a másodpercben futtatja.
#include
#include
#include
int main ()
int i;
srand (idő (0));
printf ("10 véletlenszerű szám 1 és 10 között => \ n");
mert (i = 0; i<10;i++)
printf ("% d", (rand ()% 10) + 1);
printf ("\ n");
visszatér 0;
A 3. példában.c láttuk, hogyan lehet véletlen számokat előállítani 1 és 10 között.
#include
#include
#include
int main ()
int i, max, min;
printf ("Írja be a Min érték =>");
scanf ("% d", & min);
printf ("Maximális érték megadása =>");
scanf ("% d", & max);
ha (min> max)
printf ("A minimális érték nagyobb, mint a maximális érték \ n");
visszatér 0;
srand (idő (0));
printf ("10 véletlenszerű szám% d és% d között => \ n", min, max);
mert (i = 0; i<10;i++)
printf ("% d", (rand ()% (max - min +1)) + min);
printf ("\ n");
visszatér 0;
A 4. példában.c vettük a felhasználótól a tartományt és generáltunk egy véletlen számot ezen a tartományon belül. A képlet: rand ()% (max - min +1)) + min
#include
#include
#include
int main ()
int i;
srand (idő (0));
printf ("10 véletlenszerű szám 0 között.0 és 1.0 => \ n ");
mert (i = 0; i<10;i++)
printf ("% f", ((float) rand () / RAND_MAX));
printf ("\ n");
visszatér 0;
Az 5. példában.c, láttuk, hogyan generálhatunk véletlen számokat a 0 úszó között.0 és 1.0 A képlet: (float) rand () / RAND_MAX)
#include
#include
#include
int main ()
int i;
úszó max, min;
printf ("Írja be a Min érték =>");
scanf ("% f", & min);
printf ("Maximális érték megadása =>");
scanf ("% f", & max);
ha (min> max)
printf ("A minimális érték nagyobb, mint a maximális érték \ n");
visszatér 0;
srand (idő (0));
printf ("10 véletlenszerű szám% f és% f között => \ n", min, max);
mert (i = 0; i<10;i++)
printf ("% f", min + ((float) rand () / (RAND_MAX / (max - min)));
printf ("\ n");
visszatér 0;
A 6. példában.c, a felhasználótól vettük a tartományt, és véletlenszerű számot generáltunk ezen a tartományon belül (mindkettőt beleértve). A képlet: min + ((float) rand () / (RAND_MAX / (max - min)))
Következtetés:
Ebben a cikkben megtudtuk, hogyan lehet véletlenszámokat előállítani a rand () és srand () funkció. A rand függvény által generált véletlen számok minőségével kapcsolatban nincsenek garanciák, de alkalmi használatra elég jó.