C言語で指定範囲の乱数を発生させる方法は?

C言語では、rand()関数を使用して乱数を生成できます。以下に、指定範囲内の乱数を生成する方法を示します。

  1. srand()関数を用いて乱数のシードを設定します。time()関数を用いて現在の時刻をシードとして取得することで、プログラムを実行する度に生成される乱数が異なります。
srand(time(0));
  1. rand() 関数で乱数を発生させる。rand() 関数は0 から RAND_MAX の範囲の乱数を発生させる。RAND_MAX はシステムが生成できる最大値を表す事前定義された定数である。
int randomNumber = rand();
  1. 生成された乱数を指定範囲にマッピングする。範囲を制限するために剰余演算子(%)を利用し、オフセットを加えることで開始値を調整する。
int min = 10; // 指定范围的最小值
int max = 50; // 指定范围的最大值
int range = max - min + 1; // 指定范围的大小
int randomNumberInRange = (rand() % range) + min;

以下に完全なサンプルコードを示します。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main() {
    srand(time(0)); // 设置随机数种子

    int min = 10; // 指定范围的最小值
    int max = 50; // 指定范围的最大值
    int range = max - min + 1; // 指定范围的大小
    int randomNumberInRange = (rand() % range) + min;

    printf("随机数: %d\n", randomNumberInRange);

    return 0;
}

上のコードを実行すると、10から50の間のランダムな数が表示されます。

bannerAds