【C语言】C语言使用随机数srand,rand
C语言使用随机数srand,rand
可直接编译使用:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <unistd.h>
/*
c语言提供的跟随机数有关的函数:
int rand(void);
返回值:产生的随机数
void srand(unsiqned int seed);
参数:seed -->随机数种子,rand函数的源码会利用srand提供的种子,配合算法产生随机数
time t time(time t *tloc);
返回值:返回当前系统时间距离1970-1-1凌晨的秒数
参数:保存当前系统时间距离1970-1-1凌晨的秒数
*/
int main(int argc, char const *argv[])
{
int buf[4] = {1,5,78,567};
int ret = 0;
// 使用srand 传递种子
srand(time(NULL));
// 使用rand产生随机数
while (1)
{
// 直接产生的随机数很大
// printf("直接产生的随机数是:%d\n", rand());
// 1.随机数控制在0-99范围内
ret = rand();
// printf("随机数控制在0-99范围的随机数是:%d\n", ret%100);
// 2.产生的随机数范围在 55-123之间 123 - 55 = 68
// printf("产生的随机数范围在 55-123之间的随机数是:%d\n", (ret%68)+55);
// 3.控制随机数在以上数据中变化 1,5,78,567
printf("控制随机数在固定数据中变化的随机数是:%d\n", buf[ret%4]);
sleep(1);
}
return 0;
}