【发布时间】:2012-03-13 14:40:59
【问题描述】:
我正在编写一个简单的 C 程序,它掷硬币 100000 次,并使用 srand 和 rand 计算掷硬币的正面数和反面数。这是我所拥有的:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void){
int i;
int h=0;
int t=0;
int n;
for(i=0;i<100000;i++){
srand(time(NULL));
n=rand()%2;
if(n==0){
h++;
}
else {
t++;
}
}
printf("%d heads\n", h);
printf("%d tails\n", t);
return EXIT_SUCCESS;
}
但是,在运行程序时,有时我会得到 100000 个正面和 0 个反面,有时是 0 个正面和 100000 个反面,有时我会得到正面和反面的随机数,但无论如何都不是 50% 正面和 50% 反面。
我错过了什么吗? 谢谢!
【问题讨论】:
标签: c