Utilizziamo cookie tecnici e di profilazione (anche di terze parti) per migliorare la tua esperienza su questo sito. Continuando la navigazione accetti l'utilizzo dei cookie; in alternativa, leggi l'informativa e scopri come disabilitarli.

Ecco un esempio di codice per generare numeri casuali compresi tra 1 e 100 in linguaggio C:
 
#include <time.h>
#include <stdlib.h>
...
int i;
srand(time(NULL)); // va eseguita UNA sola volta
...
i = rand() % 100 + 1;
...

La funzione srand inizializza il processo di estrazione con un numero sempre diverso (l'ora di esecuzione del programma) così produce sempre numeri diversi. Per questo motivo deve essere messa in una fase iniziale del programma e non deve essere piu' richiamata.
 
 
Tip: Se si mette un valore fisso la sequenza dei numeri e' sempre la stessa: questo puo' essere utile in una fase di test.
 
La funzione rand produce ad ogni chiamata poi un numero compreso tra 0 e RAND_MAX, ogni volta diverso; per cambiare l'intervallo (0..RAND_MAX) in un altro (min..max) occorre:
  1. prendere il resto della divisione tra il numero generato e (max-min+1)
  2. aggiungere min al risultato ottenuto.
Se si volessero numeri da 0 a 2999 basta scrivere:
 
i = rand() % 3000;
 
Se si volessero numeri da 10 a 49 basta scrivere:
i = rand() % 40 +10;