サイトマップ / 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言語講座−それ自体コンパイルできる教材を使った講座です−