Maison > Article > développement back-end > Comment générer des nombres aléatoires de 1 à 100 en langage C (avec code)
Comment générer des nombres aléatoires de 1 à 100 en langage C ? Je pense que tout le monde veut le savoir, alors sans plus tarder, découvrons-le avec l'éditeur.
Comment générer des nombres aléatoires en langage C
Générer 10 nombres aléatoires allant de 1 à 100
Sans plus tard, passons directement au sujet programme.
#include<stdio.h>#include<stdlib.h>#include<time.h> int main() {int ret = 0; srand((unsigned int)time(NULL));for(int i=0; i<p><img src="https://img.php.cn/upload/image/171/688/281/1593401322583907.png" title="1593401322583907.png" alt="Comment générer des nombres aléatoires de 1 à 100 en langage C (avec code)"></p> <p>Ce programme est utilisé pour générer 10 nombres aléatoires. Ensuite, nous parlerons en détail de la structure de ce programme. </p> <p><strong>Analyse du code de génération de nombres aléatoires</strong></p> <p><strong>Le code clé du programme ci-dessus est : </strong></p> <pre class="brush:php;toolbar:false"> srand = ((unsigned)time(NULL)); ret = rand()%100;
rand () Le fichier d'en-tête requis par la fonction est
#include<stdlib.h></stdlib.h>
rand() est une fonction qui génère des nombres pseudo-aléatoires Elle génère des nombres aléatoires selon une certaine séquence, mais. sa séquence est fixe. :
Chaque fois que le programme sera exécuté, il donnera des nombres aléatoires selon cette séquence, donc s'il n'y a aucune restriction sur rand(), le les nombres aléatoires générés ne seront pas assez aléatoires.
Le fichier d'en-tête requis par la fonction time() est :
#include<time.h></time.h>
fonction time() Il convient de noter le paramètre formel de la fonction time. Le paramètre est Les variables de pointeur sont généralement écrites sous la forme time(NULL).
La fonction de cette fonction est de renvoyer l'heure de 00:00:00 le 1er janvier 1970 à l'heure à laquelle vous l'avez exécutée pour la première fois sur l'ordinateur (par exemple : 14:14:00 le 24 mars 2018). Ce nombre est aléatoire et change au fur et à mesure que votre ordinateur fonctionne.
Le fichier d'en-tête requis par la fonction srand() est :
#include<stdlib.h></stdlib.h>
la fonction srand() est une graine de générateur de nombres pseudo-aléatoires, qui donne le rand() fonction un point de départ. Lorsque vous utilisez la fonction rand() seule, elle prend 1 comme paramètre par défaut. Le paramètre formel de srand() est un type non signé, c'est-à-dire un type non signé, qui peut être int, float, char, etc.
Mais afin d'obtenir ici l'effet de nombre aléatoire, la fonction time() sera utilisée pour générer un point de départ, qui agit directement sur la fonction rand().
Remarque :
ret = rand()%100;
rand()%100 consiste à générer un nombre aléatoire compris entre 100.
Petit programme intéressant
C'est un petit programme permettant à l'ordinateur de deviner les nombres par lui-même.
#include<stdio.h>#include<time.h>#include<process.h>#include<stdlib.h>#include<windows.h>int main() { int ret = 0; int guess = 0; int left = 0; int right = 100; srand((unsigned int)time(NULL)); ret = rand() % 100; printf("提供的答案数是->%d\n",ret); guess = 50; while (1) { if (guess > ret) { printf("猜大了->%d\n", guess); right = guess; guess = (right + left) / 2; Sleep(1000); } else if (guess %d\n", guess); left = guess; guess = (right + left) / 2; Sleep(1000); } if (guess == ret) { printf("猜到了是%d", guess); break; } } system("pause "); return 0; }</windows.h></stdlib.h></process.h></time.h></stdio.h>
L'idée de dichotomie est utilisée ici, permettant à l'ordinateur de deviner un nombre inférieur à 100.
La fonction Sleep() est utilisée pour retarder le temps d'impression. L'unité du paramètre de la fonction Sleep() est ms, donc 1000ms=1s.
Merci d'avoir lu
Cet article est reproduit à partir de : https://blog.csdn.net/H_Strong/article/details/79678269
Tutoriel recommandé : "Langage C》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!