ホームページ  >  記事  >  バックエンド開発  >  C言語で1から100までの乱数を生成する方法(コード付き)

C言語で1から100までの乱数を生成する方法(コード付き)

烟雨青岚
烟雨青岚オリジナル
2020-06-29 11:32:0654437ブラウズ

C言語で1から100までの乱数を生成する方法(コード付き)

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() は擬似乱数を生成する関数です 一定の順序に従って乱数を生成しますが、シーケンスは固定です。 :

C言語で1から100までの乱数を生成する方法(コード付き)

プログラムが実行されるたびに、このシーケンスに従って乱数が与えられるため、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>

C言語で1から100までの乱数を生成する方法(コード付き)

ここでは二分法の考え方が使用されており、コンピューターが 100 以内の数字を推測できるようになります。
Sleep()関数は印刷時間を遅らせるために使用されます。Sleep()関数のパラメータ単位はmsなので、1000ms=1sとなります。

お読みいただきありがとうございます

この記事はhttps://blog.csdn.net/H_Strong/article/details/79678269

推奨チュートリアル: "C言語"

以上がC言語で1から100までの乱数を生成する方法(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。