C 言語で 1 から 100 までの乱数を生成するにはどうすればよいですか?皆さんも知りたいと思うので、さっそく編集者と一緒に学んでいきましょう。
C 言語で乱数を生成する方法
1 から 100 までの 10 個の乱数を生成する
早速、プログラムに取り掛かりましょう。 。
#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="C言語で1から100までの乱数を生成する方法(コード付き)"></p> <p>このプログラムは、10 個の乱数を生成するために使用されます。次に、このプログラムの構造について詳しく説明します。 </p> <p><strong>乱数生成コードの解析</strong></p> <p><strong>上記プログラムのキーコードは: </strong></p> <pre class="brush:php;toolbar:false"> srand = ((unsigned)time(NULL)); ret = rand()%100;
rand () 関数に必要なヘッダファイルは
#include<stdlib.h></stdlib.h>
rand() は擬似乱数を生成する関数です 一定の順序に従って乱数を生成しますが、シーケンスは固定です。 :
プログラムが実行されるたびに、このシーケンスに従って乱数が与えられるため、rand() に制限がない場合、生成される乱数は十分にランダムではありません。
time() 関数に必要なヘッダー ファイルは次のとおりです:
#include<time.h></time.h>
time() 関数 time 関数の仮パラメータはポインタ変数は通常、time(NULL) として記述されます。
この関数の機能は、1970 年 1 月 1 日の 00:00:00 からコンピューターで最初に実行した時刻 (例: 2018 年 3 月 24 日の 14:14:00) までの時刻を返すことです。この数値はランダムであり、コンピューターの実行に応じて変化します。
srand() 関数に必要なヘッダー ファイルは次のとおりです。
#include<stdlib.h></stdlib.h>
srand() 関数は、疑似乱数生成シードであり、rand( ) 生成された A 開始点を関数します。 rand() 関数を単独で使用する場合、デフォルトのパラメータとして 1 を受け取ります。 srand() の仮パラメータは符号なし型、つまり int、float、char などの unsigned 型です。
ただし、ここで乱数効果を実現するために、 time() 関数を使用して開始点を生成し、 rand() 関数に直接作用します。
注:
ret = rand()%100;
rand() 0 は、100 以内の乱数を生成します。
興味深い小さなプログラム
これは、コンピューターが自ら数字を推測するための小さなプログラムです。
#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>
ここでは二分法の考え方が使用されており、コンピューターが 100 以内の数字を推測できるようになります。
Sleep()関数は印刷時間を遅らせるために使用されます。Sleep()関数のパラメータ単位はmsなので、1000ms=1sとなります。
お読みいただきありがとうございます
この記事はhttps://blog.csdn.net/H_Strong/article/details/79678269
推奨チュートリアル: "C言語"
以上がC言語で1から100までの乱数を生成する方法(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。