利用随机数函数掷骰子

//首先掷骰子需要概率相等,如果随机数生成0到32767,那么这些值的概率就不是相等的,32766,32767返回的值是0,1会增加概率
//所以,一旦出现就重新生成.

#include 
#include 
#include 
#include 
const unsigned int MAX_OK_RAND = (RAND_MAX/6)*6-1;//(int)((((long)RAND_MAX+1)/6)*6-1);
int throw_die(){
	static int flag = 0;
	int value;
	if (!flag)
	{
		flag = 1;
		srand((unsigned int)time(NULL));
	}
	while((value = rand())>MAX_OK_RAND);
	return value%6+1;
}
int main(){
	int a[100];
	//int v = MAX_OK_RAND;
	int i = -1;
	while(++i<100){
		a[i] = throw_die();
	}
	return EXIT_SUCCESS;
}


你可能感兴趣的:(C和指针)