スポンサードリンク

簡単な乱数取得サンプルから
※【 #include <stdlib.h> 】は【 rand 】関数を使用するのに必要です。
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
double i;
i=rand();
printf("乱数%f\n",i);
return 0;
}
【 rand(); 】と記述すれば、乱数を発生させる事が出来ます。実数型変数名【 i 】に乱数を代入し、出力させております。

上記の実行結果


#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
double i;
for(a=0;a<=6;a++){
i=rand();
printf("乱数%f\n",i);
}
return 0;
}

何度も実行するとわかるように、毎回同じ乱数が出力されていまいます。
単純に【 rand() 】とすると毎回同じ乱数が発生する事を「同じ乱数系列」と言い
異なる乱数を得たい場合は【 srand() 】関数で乱数系列を再設定します。(※この下の説明を参照して下さい。)

上記の実行結果
上記の場合わざわざマクロを使うほどの物ではないのですが、以下の様に記述すれば
プログラムの内容がわかりやすくなるとの事です。
#include <stdio.h> #define max 100 int main(void) { int i; for(i=0; i<=max; i=i+10){ printf("%d\n",i); } return 0; } |
同じ乱数が得られております。


サンプル
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a;
double i;
srand(5);
for(a=0;a<=6;a++){
i=rand();
printf("乱数%f\n",i);
}
return 0;
}
【 srand() 】をループに入る前に設定し【 rand() 】のみ記述の際と異なる乱数を発生させることが出来ます。
しかしながらそれでもランダムに発生させることは出来ません。
※【 srand(5) 】中に設定する整数は任意のものでOKです。

上記の複数回実行結果です。
【 rand() 】の場合と異なる乱数が発生しておりますが、発生する乱数はやはり同じ値になります。

次回はランダムに乱数を取得する方法、時間関数【 time() 】を【 srand() 】に設定しランダムに乱数を発生させる説明を参照すると良いでしょう。
あかかげまるのC言語入門はこちら!!
スポンサードリンクパソコン勉強部屋 | パソコン勉強部屋2 | ADSL勉強部屋 | メール勉強部屋 | LAN勉強部屋 | ホームページ勉強部屋 | 自宅サーバー勉強部屋 | お役立ちソフトの部屋 | C言語勉強 | 無料ゲーム | 無料セキュリティー | Linuxのコーナー | あかかげまる | オンライン通販 | ショップブランドパソコン | DVDとCD編集ツール |
▲ページトップへ