乱数の生成 - 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関数」をみていきます。