专做投放广告网站,自己做网站需要哪些流程,别墅效果图网站,做商品网站的教学视频C怎样产生随机数?
这里要用到的是 rand() 函数和 srand() 函数
rand() 会返回一随机数值, 范围在 0 至 RAND_MAX ,RAND_MAX 定义在 stdlib.h, 其值根据系统配置设定 例如#xff1a;
#includestdio.h
#includestdlib.h
int main()
{for(int i0;i10;i)…C怎样产生随机数?
这里要用到的是 rand() 函数和 srand() 函数
rand() 会返回一随机数值, 范围在 0 至 RAND_MAX ,RAND_MAX 定义在 stdlib.h, 其值根据系统配置设定 例如
#includestdio.h
#includestdlib.h
int main()
{for(int i0;i10;i)printf(%d\n,rand());
}如果你要随机生成一个在一定范围的数直接使用 %运算限制上限用 加限制下限
例如随机生成 10 10 10 个 0 100 0~100 0 100 的数
#includestdio.h
#includestdlib.h
#define random(x) (rand()%x)int main()
{for(int x0;x10;x)printf(%d\n,random(100));
}但是上面两个例子所生成的随机数都只能是一次性的如果你第二次运行的时候输出结果仍和第一次一样
这与 srand() 函数有关,srand() 用来设置 rand() 产生随机数时的随机数种子,如果未设随机数种子, rand() 在调用时会自动设随机数种子为1
上面的两个例子就是因为没有设置随机数种子,每次随机数种子都自动设成相同值1,进而导致 rand() 所产生的随机数值都一样。
srand()函数定义为void srand (unsigned int seed)
通常利用time(0)的返回值来当做seed
如果你用time(0)的话要加入头文件#includetime.h
例如
#includestdio.h
#includestdlib.h
#includetime.h
#define random(x) (rand()%x)int main()
{srand((int)time(0));for(int x0;x10;x)printf(%d\n,random(100));
}这样两次运行的结果就会不一样了