ホームページ バックエンド開発 C#.Net チュートリアル C言語で1から100までの乱数を生成する方法(コード付き)

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

Jun 29, 2020 am 11:32 AM
C言語 乱数

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

C 言語で 1 から 100 までの乱数を生成するにはどうすればよいですか?皆さんも知りたいと思うので、さっそく編集者と一緒に学んでいきましょう。

C 言語で乱数を生成する方法

1 から 100 までの 10 個の乱数を生成する

早速、プログラムに取り掛かりましょう。 。

1

2

3

4

5

6

7

8

#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="/static/imghw/default1.png" data-src="https://img.php.cn/upload/image/171/688/281/1593401322583907.png" class="lazy" 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 () 関数に必要なヘッダファイルは

1

#include<stdlib.h></stdlib.h>

ログイン後にコピー
ログイン後にコピー

rand() は擬似乱数を生成する関数です 一定の順序に従って乱数を生成しますが、シーケンスは固定です。 :

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

プログラムが実行されるたびに、このシーケンスに従って乱数が与えられるため、rand() に制限がない場合、生成される乱数は十分にランダムではありません。

time() 関数に必要なヘッダー ファイルは次のとおりです:

1

#include<time.h></time.h>

ログイン後にコピー

time() 関数 time 関数の仮パラメータはポインタ変数は通常、time(NULL) として記述されます。
この関数の機能は、1970 年 1 月 1 日の 00:00:00 からコンピューターで最初に実行した時刻 (例: 2018 年 3 月 24 日の 14:14:00) までの時刻を返すことです。この数値はランダムであり、コンピューターの実行に応じて変化します。

srand() 関数に必要なヘッダー ファイルは次のとおりです。

1

#include<stdlib.h></stdlib.h>

ログイン後にコピー
ログイン後にコピー

srand() 関数は、疑似乱数生成シードであり、rand( ) 生成された A 開始点を関数します。 rand() 関数を単独で使用する場合、デフォルトのパラメータとして 1 を受け取ります。 srand() の仮パラメータは符号なし型、つまり int、float、char などの unsigned 型です。
ただし、ここで乱数効果を実現するために、 time() 関数を使用して開始点を生成し、 rand() 関数に直接作用します。

注:

1

   ret = rand()%100;

ログイン後にコピー

rand() 0 は、100 以内の乱数を生成します。

興味深い小さなプログラム

これは、コンピューターが自ら数字を推測するための小さなプログラムです。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

#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("提供的答案数是-&gt;%d\n",ret);

    guess = 50;    while (1)

    {        if (guess &gt; ret)

        {            printf("猜大了-&gt;%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 までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

C言語でのtypedef構造体の使い方 C言語でのtypedef構造体の使い方 May 09, 2024 am 10:15 AM

C言語でのtypedef構造体の使い方

C言語で実数は何を意味しますか C言語で実数は何を意味しますか May 09, 2024 pm 12:06 PM

C言語で実数は何を意味しますか

C言語でべき乗関数を実装する方法 C言語でべき乗関数を実装する方法 May 09, 2024 pm 11:33 PM

C言語でべき乗関数を実装する方法

C言語でのrestrictの使い方 C言語でのrestrictの使い方 May 08, 2024 pm 01:30 PM

C言語でのrestrictの使い方

C言語のscanfでエラーが発生した場合の対処方法 C言語のscanfでエラーが発生した場合の対処方法 May 09, 2024 am 11:39 AM

C言語のscanfでエラーが発生した場合の対処方法

_C言語での複雑な使い方 _C言語での複雑な使い方 May 08, 2024 pm 01:27 PM

_C言語での複雑な使い方

_C言語でブールとはどういう意味ですか? _C言語でブールとはどういう意味ですか? May 08, 2024 pm 01:33 PM

_C言語でブールとはどういう意味ですか?

C言語でregは何を意味しますか C言語でregは何を意味しますか May 09, 2024 am 09:57 AM

C言語でregは何を意味しますか

See all articles