サイトマップ / C言語講座>出入り口>総目次>目次:関数>srand( )とrand( )
/* 今日は乱数に関する二つの標準ライブラリ関数について学びます。
#include <stdlib.h>
void srand(unsigned int seed);
例:srand(seed);
この関数は乱数のシード(種)を設定します。今回は年齢をシードにしていますが、普通はtime( )かclock( )で時間を取得してそれをシードにします。時間に関する標準ライブラリ関数は後に学びます。シードを設定しないといつも同じ系列で乱数が発生します。
#include <stdlib.h>
int rand(void);
例:n = rand( );
この関数が乱数を発生させます。範囲は0から32767です。今回のプログラムは年齢をシードにして、0から6までの整数の乱数を発生させ、それを配列の添字として使います。今回のプログラムが何をするものかは実行して確かめて下さい。 */
#include <stdio.h>
#include <stdlib.h> /* srand( ) rand( ) で必要 */
#define NUM_STR 7
void main(void);
char *string[ ] = {"情熱的に", "ものすごく", "大変",
"ある程度", "", "ほんの少し", "ごくわずかに"};
void main(void)
{
unsigned int seed;
int n;
printf("年齢を入力して下さい\t");
scanf("%u", &seed); /* %u:seed は unsigned int 型 */
printf("\n");
srand(seed); /* シードを設定 */
/* ここで 0 から 6 までの整数の乱数を発生 */
n = rand( ) % NUM_STR;
printf("彼女はあなたを%s愛している!\n", string[n]);
}
|
/* (C) 2000- YFプロ. All Rights Reserved. */ 提供:C言語講座−それ自体コンパイルできる教材を使った講座です−