Pour tirer un nombre aléatoire en C, la fonction int rand() permet de tirer un entier pseudo-aléatoire entre 0 et RAND_MAX inclus. RAND_MAX est une constante définie dans la bibliothèque stdlib.h, sa valeur peut varier d'un compilateur à l'autre.
Voici un exemple de programme en C qui génère un nombre aléatoire entre 0 et RAND_MAX :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// Initialiser le générateur de nombres aléatoires avec l'heure actuelle
srand(time(NULL));
// Générer un nombre aléatoire
int random_number = rand();
// Afficher le nombre aléatoire
printf("Nombre aléatoire : %d\n", random_number);
return 0;
}
#include <stdlib.h> : Cette directive inclut les déclarations de rand() et srand().#include <time.h> : Cette directive inclut la déclaration de time(), utilisée pour obtenir l'heure actuelle.srand(time(NULL)) : Initialise le générateur de nombres aléatoires avec une graine basée sur l'heure actuelle. Cela permet de s'assurer que les nombres générés seront différents à chaque exécution du programme.rand() : Génère un nombre entier pseudo-aléatoire entre 0 et RAND_MAX.Pour obtenir un nombre aléatoire dans une plage spécifique, par exemple entre min et max, la formule suivante est classiquement utilisée :
int min = 10;
int max = 50;
int random_number = (rand() % (max - min + 1)) + min;
Voici le programme complet avec cette modification :
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
// Initialiser le générateur de nombres aléatoires avec l'heure actuelle
srand(time(NULL));
// Définir la plage des nombres aléatoires
int min = 10;
int max = 50;
// Générer un nombre aléatoire dans la plage [min, max]
int random_number = (rand() % (max - min + 1)) + min;
// Afficher le nombre aléatoire
printf("Nombre aléatoire entre %d et %d : %d\n", min, max, random_number);
return 0;
}
rand() % (max - min + 1) : Cette expression génère un nombre aléatoire entre 0 et (max - min).+ min : Cette partie ajuste le résultat pour qu'il soit dans la plage souhaitée [min, max].Ces exemples te montrent comment générer des nombres aléatoires en C, à la fois dans une plage spécifique et dans toute la plage possible des nombres entiers retournés par rand().