生成0与1之间的随机数.cpp

来自「c++实例~ 初学基础」· C++ 代码 · 共 42 行

CPP
42
字号
#include <stdlib.h>
#include <iostream.h>

static const int Size = 101;
static const int Seed = 3000000L;
static int first_time = 1;
static double rand_table[Size];    
static double last_rand;


void OrignRandom(unsigned long iseed)
{
  srand(iseed);
  int i;
  for(i = 0; i < Size; i++)
		rand_table[i] = rand() / (RAND_MAX + 1.0);
  last_rand = rand() / (RAND_MAX + 1.0);
  first_time = 0;
}


double Random()
{
  int index;
  if(first_time) OrignRandom(Seed);
  index = int(Size * last_rand);
  last_rand = rand_table[index];
  rand_table[index] = rand() / (RAND_MAX + 1.0);
  return last_rand;
}


void main()
{
	double ran;
	for(int i = 0; i < 10; i++)
	{
		ran = Random();
		cout << ran << endl;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?