【C言語】指定した範囲の乱数を生成するプログラムの書き方を解説

この記事では、C言語を使って指定した範囲の乱数を生成するプログラムの書き方を解説します。

具体的には、0からNまでの乱数MからNまでの乱数を生成する方法を紹介します。

目次から探す

指定した範囲の乱数を生成するプログラムの例

乱数を生成するプログラムは、C言語で簡単に書くことができます。

ここでは、指定した範囲の乱数を生成する2つの例を紹介します。

0からNまでの乱数を生成する

まずは、0からNまでの範囲で乱数を生成するプログラムの例を見てみましょう。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    int N;
    printf("乱数の上限値Nを入力してください: ");
    scanf("%d", &N);
    // 乱数の種を設定
    srand(time(NULL));
    // 0からNまでの乱数を生成
    int random_number = rand() % (N + 1);
    printf("生成された乱数: %d\n", random_number);
    return 0;
}

このプログラムでは、Nという変数に乱数の上限値を入力してもらいます。

乱数の種を設定するために、srand(time(NULL))を呼び出しています。

そして、rand() % (N + 1)を使って0からNまでの範囲で乱数を生成しています。

乱数の上限値Nを入力してください: 10
生成された乱数: 7

MからNまでの乱数を生成する

次に、MからNまでの範囲で乱数を生成するプログラムの例を見てみましょう。

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
    int M, N;
    printf("乱数の下限値Mを入力してください: ");
    scanf("%d", &M);
    printf("乱数の上限値Nを入力してください: ");
    scanf("%d", &N);
    // 乱数の種を設定
    srand(time(NULL));
    // MからNまでの乱数を生成
    int random_number = rand() % (N - M + 1) + M;
    printf("生成された乱数: %d\n", random_number);
    return 0;
}

このプログラムでは、MNという変数に乱数の下限値と上限値を入力してもらいます。

乱数の種を設定するために、srand(time(NULL))を呼び出しています。

そして、rand() % (N - M + 1) + Mを使ってMからNまでの範囲で乱数を生成しています。

乱数の下限値Mを入力してください: 5
乱数の上限値Nを入力してください: 10
生成された乱数: 7

以上が、指定した範囲の乱数を生成するプログラムの例です。

乱数を使ったプログラムを作成する際には、これらの例を参考にしてみてください。

目次から探す