範囲を指定したC言語の乱数の生成方法

C言語で乱数の範囲を限定するには、剰余演算子(%)を使うことができます。

まず、rand()関数で乱数を生成し、次に剰余演算子で指定した範囲に乱数を限定します。例えば、0~Nの乱数を生成したい場合は、次のコードを使用できます:

int randomNumber(int N) {
    return rand() % (N + 1);
}

こうすると、生成される乱数は0~N(0、Nを含む)となります。

MからNの間の乱数を生成したい場合、次のようなコードを使用できます:

int randomNumberInRange(int M, int N) {
    return M + rand() % (N - M + 1);
}

この方法を使用すると、生成した乱数はMとNの間(MとNを含む)にあります。

乱数をよりランダムにするためには、使用する前に srand() 関数で乱数の種を初期化する必要がある。種にシステムの現在時刻を使うには、以下のように time() 関数を使用できます。

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

int randomNumberInRange(int M, int N) {
    return M + rand() % (N - M + 1);
}

int main() {
    srand(time(NULL)); // 初始化随机数种子

    int randomNum = randomNumberInRange(0, 10);
    printf("随机数: %d\n", randomNum);

    return 0;
}

プログラムを実行するたびに、生成される乱数は変化します。

bannerAds