Rubrikfil:
stdlib.h
Syntax:
int rand (ogiltig)
Returvärden:
Denna funktion returnerar nästa pseudoslumpnummer i serien. Räckvärdet för nummerserien är mellan 0 och RAND_MAX. RAND_MAX är ett makro definierat i stdlib.h header-fil, vars värde är det maximala värdet, som kan returneras med rand () -funktionen. Värdet på RAND_MAX är större men inte mindre än 32767 beroende på C-biblioteken.
// Exempel1.c#omfatta
#omfatta
int main ()
int i;
printf ("10 slumpmässiga siffror => \ n");
för (i = 0; i<10;i++)
printf ("% d", rand ());
printf ("\ n");
returnera 0;
I exempel 1.c, vi kallar rand () -funktionen i varje iteration av for loop och skriver ut returvärdet för funktionen. Värdesekvensen för funktionen rand () är densamma varje gång vi kör programmet. Som standard är fröet för randfunktionen satt till 1.
Vi kan ställa in fröet för randfunktionen med hjälp av srand () fungera. Fröet kan bara ställas in en gång och före första gången rand() funktionssamtal.
srand () -funktion:
Rubrikfil:
stdlib.h
Syntax:
int srand (osignerad int seed)
Argument:
Denna funktion tar ett argument
utsäde: Ett heltal som används som ett frö för en ny serie av pseudoslumpnummer.
Returvärden:
Ingen
// Exempel2.c#omfatta
#omfatta
#omfatta
int main ()
int i;
srand (tid (0));
printf ("10 slumpmässiga siffror => \ n");
för (i = 0; i<10;i++)
printf ("% d", rand ());
printf ("\ n");
returnera 0;
I exempel 2.c, vi har använt srand () -funktionen för att ställa in det ursprungliga fröet för den slumpmässiga nummersekvensen som genereras av rand () -funktionen. Varje gång programmet körs genereras en annan sekvens. I srand (), time (0) -funktion (deklareras i tid.h header-fil) används som ett frö. Denna gång (0) -funktionen returnerar antalet sekunder som har gått sedan epoken (00:00:00, 1 januari 1970). Detta kan fortfarande producera samma sekvenser om du kör programmet på samma sekund.
#omfatta
#omfatta
#omfatta
int main ()
int i;
srand (tid (0));
printf ("10 slumpmässiga siffror mellan 1 och 10 => \ n");
för (i = 0; i<10;i++)
printf ("% d", (rand ()% 10) + 1);
printf ("\ n");
returnera 0;
I exempel 3.c vi har sett hur slumpmässiga tal kan genereras mellan 1 och 10.
#omfatta
#omfatta
#omfatta
int main ()
int i, max, min;
printf ("Ange minvärde =>");
scanf ("% d", & min);
printf ("Ange maxvärde =>");
scanf ("% d", & max);
om (min> max)
printf ("Minvärde är större än maxvärde \ n");
returnera 0;
srand (tid (0));
printf ("10 slumpmässiga siffror mellan% d och% d => \ n", min, max);
för (i = 0; i<10;i++)
printf ("% d", (rand ()% (max - min +1)) + min);
printf ("\ n");
returnera 0;
I exempel 4.c vi har tagit intervallet från användaren och genererat ett slumpmässigt tal inom detta intervall. Formeln är: rand ()% (max - min +1)) + min
#omfatta
#omfatta
#omfatta
int main ()
int i;
srand (tid (0));
printf ("10 slumpmässiga siffror mellan 0.0 och 1.0 => \ n ");
för (i = 0; i<10;i++)
printf ("% f", ((float) rand () / RAND_MAX));
printf ("\ n");
returnera 0;
I exempel 5.c, vi har sett hur vi kan generera slumptal mellan float 0.0 och 1.0 Formeln är: (float) rand () / RAND_MAX)
#omfatta
#omfatta
#omfatta
int main ()
int i;
flottör max, min;
printf ("Ange minvärde =>");
scanf ("% f", & min);
printf ("Ange maxvärde =>");
scanf ("% f", & max);
om (min> max)
printf ("Minvärde är större än maxvärde \ n");
returnera 0;
srand (tid (0));
printf ("10 slumpmässiga siffror mellan% f och% f => \ n", min, max);
för (i = 0; i<10;i++)
printf ("% f", min + ((float) rand () / (RAND_MAX / (max - min))));
printf ("\ n");
returnera 0;
I exempel 6.c, vi har tagit intervallet från användaren och genererat ett slumpmässigt tal inom detta intervall (båda inklusive). Formeln är: min + ((float) rand () / (RAND_MAX / (max - min)))
Slutsats:
I den här artikeln har vi lärt oss hur slumptal kan genereras med hjälp av rand() och srand () fungera. Det finns inga garantier för kvaliteten på de slumpmässiga siffrorna som genereras av randfunktionen, men det är tillräckligt bra för avslappnad användning.