利用随机数函数掷骰子

来源:互联网 发布:秦舞阳13岁杀人知乎 编辑:程序博客网 时间:2024/06/07 06:02
//首先掷骰子需要概率相等,如果随机数生成0到32767,那么这些值的概率就不是相等的,32766,32767返回的值是0,1会增加概率//所以,一旦出现就重新生成.#include <stdio.h>#include <stdlib.h>#include <assert.h>#include <time.h>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;}

原创粉丝点击