weblovelog

ウェブ業界人のためのウェブ情報サイト。

乱数について【C言語を学ぼう】

      2015/06/08

乱数

乱数 → コンピューターにランダムな数値を選択させる

使用する3つの関数

  • rand → 乱数を取得する
  • srand → 乱数の基準値を決定する *プログラム実行時に一度だけ!
  • time → 現在のUnixタイムスタンプを取得する  *1970年1月1日からの経過秒数

乱数取得の手順

乱数を取得したい 例)rand();

しかし…コンピューターは基準を決めてあげないと、毎回同じパターンの数値を出力する。

乱数の基準値(乱数のタネ)を決めてあげる。 例)srand(200);

乱数の基準値から、乱数取得に成功。

しかし…今度はその基準値から、毎回同じパターンの数値を出力してしまう。

そこで、乱数の基準値をUnixタイムスタンプに設定。

#include <time.h>

void main(void)
{

int t;
t = time(NULL);
srand(t);

}

 乱数取得に必要なコードをまとめると…

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

void main(void)
{

int t;
int num;

t = time(NULL);
srand (t); // 基準をUnixタイムスタンプに設定

num = rand(); //rand関数の結果をnumに代入
printf("num = %d¥n" , num);

}

思い通りの乱数を得るヒント

0から9までの乱数を得る

num = rand();
num%10;

1から10までの乱数を得る

num = rand();
(num%10)+1;

 - C言語, その他, プログラミング

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事