乱数の生成 - rand関数
当ページのリンクには広告が含まれています。
スポンサーリンク
ここではC言語のrand関数を使って、乱数を生成する方法を紹介します。
乱数
乱数とはランダムな数のことです。
サイコロを降ったときの「数」みたいなもので、何が出るかわからないランダムな数のことを「乱数」といいます。
ランダムな数(乱数)はゲームなどのプログラミングには必須なので、使い方を覚えておきましょう。
rand関数
rand関数を利用する場合は「stdlib.h」というヘッダーファイルを読み込む必要があります。
#include<stdlib.h>
rand関数は「0~RAND_MAX」の乱数を発生します。RAND_MAX は環境によって異なるので、お使いの環境で確認してみましょう。
それでは実際に rand関数を使ってみましょう。
サンプルプログラム
rand関数を使って、乱数を3つ表示、また RAND_MAX も表示するサンプルプログラムです。
#include <stdio.h>
#include <stdlib.h>
int main(void){
int i;
/* 乱数を生成 */
printf("◆ 3つの乱数を生成\n");
for(i=0;i<3;i++)
printf("%dつ目の乱数 = %d\n", i+1, rand());
/* 乱数の最大値を表示 */
i = RAND_MAX;
printf("\n◆ 乱数の最大値を表示\n");
printf("RAND_MAX = %d\n", i);
return 0;
}
実行結果です。
◆ 3つの乱数を生成 1つ目の乱数 = 16807 2つ目の乱数 = 282475249 3つ目の乱数 = 1622650073 ◆ 乱数の最大値を表示 RAND_MAX = 2147483647
このように3つの乱数とRAND_MAXを表示します。
このプログラムを何度か実行すればわかるのですが、rand関数では同じ乱数しか発生しないようになっています。
乱数なのに……おかしいですね。
その問題を改良するために次は「乱数生成 - srand関数」をみていきます。