/*
*100000个随机数证明C语言随机数为均匀分布
*计算机执行每一条指令的结果都是确定的,没有一条指令产生的是随机数
*调用C标准库得到的随机数其实是伪随机数,是用数学公式算出来的确定的数
*只不过这些数看起来很随机,并且从统计意义上也很接近均匀分布的随机数。
*/
#include<stdio.h>
#include<stdlib.h>
int main()
{
int numtime[10] = {0};//用来存放数字0-9出现的次数
int i;//C89标准
for(i=0;i<100000;i++)
{
numtime[rand() % 10]++;
}
for(i=0;i<10;i++)
{
printf("%d:\t%d\n",i,numtime[i]);
}
return 0;
}
运行结果为:
0: 10130
1: 10072
2: 9990
3: 9842
4: 10174
5: 9930
6: 10059
7: 9954
8: 9891
9: 9958
发现每一个数字出现的次数都在10000次左右,因此
证明C语言随机数为均匀分布