/* create-random-numbers.c */ #include #include /* 1970年からの経過秒を得るtime()関数を利用するためのインクルードファイル */ #include #include void usage(char *command_name) { printf("usage: %s \n", command_name); exit(1); } int main(int argc, char **argv) { int range, amount, number; int i; /* 引数の個数をチェック */ if ( argc < 3 ) usage(argv[0]); /* レンジを設定し、チェック */ range = atoi(argv[1]); if ( range == 0 ) usage(argv[0]); /* 個数を設定し、チェック */ amount = atoi(argv[2]); if ( amount == 0 ) usage(argv[0]); /* 1970年からの経過秒を乱数シードに設定 */ srand48( (long)time(NULL) ); /* 0 から range の範囲で、amount 個の乱数を生成 */ for( i = 0; i < amount; i++ ) { number = (int)(drand48() * (double)(range + 1)); if ( number > range + 1 ) { /* 得られた値が range + 1 となる可能性を考慮 */ number--; } printf("%d\n", number); } }