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