概述
参看:C++中随机函数rand()和srand()的用法
rand ()函数:可以用来获得一个随机数
所在头文件: stdlib.h
函数说明 :
rand()的内部实现是用线性同余法做的,它不是真的随机数,因其周期特别长,故在一定的范围里可看成是随机的。rand()返回一随机数值的范围在0至RAND_MAX 间。RAND_MAX的范围最少是在32767之间(int)。用unsigned int 双字节是65535,四字节是4294967295的整数范围。0~RAND_MAX每个数字被选中的机率是相同的。用户未设定随机数种子时,系统默认的随机数种子为1。rand()产生的是伪随机数字,每次执行时是相同的;若要不同,用函数srand()初始化它。
srand ()函数:可以用来设置随机数的种子
所在头文件: stdlib.h
函数说明:
srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用time(0)的返回值或NULL来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
time ()函数:可以返回系统时间
所在头文件: time.h
函数说明:
获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。
参看:Linux time()函数
rand()和srand()要一起使用,其中srand()用来初始化随机数种子,rand()用来产生随机数。
因为默认情况下随机数种子为1,而相同的随机数种子产生的随机数是一样的,失去了随机性的意义,所以为使每次得到的随机数不一样,用函数srand()初始化随机数种子。srand()的参数,用time函数值(即当前时间),因为两次调用rand()函数的时间通常是不同的,这样就可以保证随机性了。
/*
1--100 rand()%100+1 随机数
输入一个数字 与随机数比较
猜大了
猜小了
猜对了
*/
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int num=0,num1=0;
srand((unsigned int)time(0)); //随机函数
num1=rand() % 100+1; // 取余为 0--99 +1
while(1)
{
printf("请输入一个数:"); //放到循环里面
scanf("%d",&num);
if(num>num1)
{
<span style="white-space:pre"> </span>printf("猜大了n");
}
else if (num==num1)
{
printf("猜对了n");
break;
}
else
{
printf("猜小了n");
}
}
return 0;
}
随机数【15 ~ 18】:
rand()%(18-5+1)+15
最后
以上就是清爽电灯胆为你收集整理的C语言再学习 -- 随机数函数的全部内容,希望文章能够帮你解决C语言再学习 -- 随机数函数所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复