问题补充说明:我想随即产生整数1-50之间的任意一个数赋值给int i;。请问该怎么使用?
迫乐值况rand()函数的返回值就是求取随机的值,所以如果没有对数据有要求,直接这样写:
printf("%d",rand());//输出一个随机数.
但如果对数有要求,如小数或在一定值以内:
小数:rand()/100.0//100.0后面的.0必须写,得到一个小数点后有两位小数的小数。
一定范围内的数:rand()%m+n析//m是数据区间差,n是最小值
如:求[100,120)之间的数就是:rand()%20+100
从随快逐依rand()函数得到的是一伪随机序列,即,每次运行时,得到的随机序列是相同的(这是为了保证调试程序时,每次保持相对稳定的数据,便于查找程序问题)。为了得到不同的随机序列,系统提供了srand(intn)函数设置随机种子,n值不同时,就会得到不同的随机序列,常用方法为:
srand(time(NULL));//time的返回值是当前系统时间(秒数),因为每次运行时盐危预策的时间不同,time的结果就会是不同的值,这样,srand()设置的种子就会不同,得到的随机序列也就会不同。
time在
rand,srand在