产生200个0-9之间的随机数,实现方法是:使用rand函数对10求余,
首先生成一列0~9的随机数保存 在数组中,然后统计其中每个数字出现的次数并打印,检查这些数字的随机性如何。随机数在某些 场合(例如游戏程序)是非常有用的,但是用计算机生成完全随机的数却不是那么容易。计算机执 行每一条指令的结果都是确定的,没有一条指令产生的是随机数,调用C标准库得到的随机数其实 是伪随机( Pseudorandom) 数,是用数学公式算出来的确定的数,只不过这些数看起来很随机, 并且从统计意义上也很接近均匀分布( Uniform Distribution) 的随机数。
C标准库中生成伪随机数的是rand函数,使用这个函数需要包含头文件stdlib.h,它没有参数,返 回值是一个介于0和RAND_MAX之间的接近均匀分布的整数。 RAND_MAX是该头文件中定义的一个常 量,在不同的平台上有不同的取值,但可以肯定它是一个非常大的整数。通常我们用到的随机数是 限定在某个范围之中的,例如0~9
#include <stdio.h>
#include <stdlib.h>
#define N 200
int a[N];
void gen_random(int data)
{
int i = 0;
for (i = 0; i < N; i++)
{
a[i] = rand() % data;
}
}
void print_random()
{
int i = 0;
for (i = 0; i < N; i++)
{
printf("%d ", a[i]);
}
printf("\n");
}
int main(void)
{
gen_random(10);
print_random();
return 0;
}