C言語 rand関数とは?乱数の使い方と注意点

C言語で乱数関数rand()を使用するには、ヘッダーファイルstdlib.hを含める必要があります。次に、次のコードを使用してランダムな数値を生成できます:

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

int main() {
   int randomNumber;

   // 生成一个0到RAND_MAX之间的随机数
   randomNumber = rand(); 

   printf("随机数为: %d", randomNumber);

   return 0;
}

0からNまでの乱数を生成したい場合は、剰余演算子を使用してください。

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

int main() {
   int randomNumber, N;

   // 设定N的值
   N = 100;

   // 生成一个0到N之间的随机数
   randomNumber = rand() % (N + 1); 

   printf("0到%d之间的随机数为: %d", N, randomNumber);

   return 0;
}

毎回プログラムが実行されるたびに生成される乱数が同じであることに注意する必要があります。これは、乱数のシードが変更されていないためです。乱数のシードを設定するには、srand()関数を使用することができます。通常、シードとしてシステム時間を使用することができ、それにより毎回生成される乱数が異なることを保証できます。

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

int main() {
   int randomNumber, N;

   // 使用系统时间作为种子
   srand(time(0));

   // 设定N的值
   N = 100;

   // 生成一个0到N之间的随机数
   randomNumber = rand() % (N + 1); 

   printf("0到%d之间的随机数为: %d", N, randomNumber);

   return 0;
}

rand()関数を使用してランダムな数値を生成する基本的な方法を示しました。具体的な要件に基づいてさらなる操作を行うことができます。

bannerAds