rand のサンプルコード | 乱数を生成する

乱数を10個生成するプログラムです。

rand()は乱数を生成しますが、乱数なのにプログラム実行ごとに同じ値を出力してしまいます。これを回避するめに乱数のシード(種)が必要なのですが毎回異なるシードを与える必要があるため、現在の時刻を元に乱数を生成しています。

注意点ですが、rand() は1回目の乱数は、乱数とはいえ似た数字を出力してしまうようです。よって実際に使用する場合には、何回かrand() を実行してから、乱数を生成するようにします。

(*)RAND_MAX は rand 関数が返す最大値が定義されています。 定義値は 0x7fff 。

スポンサーリンク

Visual C++ 向けサンプルコード

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

int main(void)
{
int a;
srand((unsigned)time(0));
for (int i=0 ; i!=10 ;i++)
{
a=(int)(100* rand()/(RAND_MAX));
printf("%d\n",a);
}
return 0; }

スポンサーリンク



[Visual C++ サンプルコード | 即戦力ソース集に戻る]

本サンプルコードではエラー処理を省略している場合があります。実践で使用する場合はエラー処理が必要となる場合があります。