C言語で指定範囲の乱数を発生させる方法は?
C言語では、rand()関数を使用して乱数を生成できます。以下に、指定範囲内の乱数を生成する方法を示します。
- srand()関数を用いて乱数のシードを設定します。time()関数を用いて現在の時刻をシードとして取得することで、プログラムを実行する度に生成される乱数が異なります。
srand(time(0));
- rand() 関数で乱数を発生させる。rand() 関数は0 から RAND_MAX の範囲の乱数を発生させる。RAND_MAX はシステムが生成できる最大値を表す事前定義された定数である。
int randomNumber = rand();
- 生成された乱数を指定範囲にマッピングする。範囲を制限するために剰余演算子(%)を利用し、オフセットを加えることで開始値を調整する。
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の間のランダムな数が表示されます。