我是靠谱客的博主 清爽电灯胆,这篇文章主要介绍C语言再学习 -- 随机数函数,现在分享给大家,希望可以做个参考。

参看: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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* 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语言再学习内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部