手把手教你使用rand函数实现猜数字游戏

简介: 笔记

rand()函数


1.png

rand 函数返回范围为 0 到 RAND_MAX的伪随机整数。在调用 rand 之前,使用 srand 函数为伪随机数生成器设定种子。 ran函数的头文件是<stdlib.h>


RAND_MAX

我们将RAND_MAX,复制到VS编译器中,选中右击,选择转到定义,我们可以查看RAND_MAX的范围,在这里我们可以看到RAND_MAX为0x7fff,转换为10进制32767

2.png


srand()函数


3.png

srand()函数头文件是<stdlib.h> ,调用的类型是整数,srand函数里面是数字多少,rand函数就会从数字多少开始产生随机值,随机值范围是sradn函数里面的数字到32767


调用rand和srand函数


4.png

我们第一次调用后结果是365,在重新调用一次,结果还是365

5.png

当我们把srand()里面的数字换了之后,再次调用我们发现这个随机值会变

6.png

当但随机值等于200,我们第二次调用时,产生的随机值还是691

7.png

因此可见如果,srand()里面的值不变每次调用的结果都一样,为了让每次产生的随机值不一样,我们可利用time函数,让srand()里面的值随时间的变化而变化


time()函数


8.png

time()函数的头文件时<time.h>,返回类型时time_t,time_t也是一种整形类型

9.png

我们将time()函数的返回值,放到srand()函数中,这样srand()函数中的值就随时在变化,由于srand()函数中的值是整型,而time的返回值是整型。因此我们这样将time()函数放到srand()函数中

10.png

接下来,我们测试产生的随机值,我们要求产生1-100的随机值

12.png11.png

13.png






我们发现这三次测试结果都不相同


用srand函数实现猜数字游戏

14.png


#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
  printf("*************************\n");
  printf("******1.play*************\n");
  printf("******0.exit*************\n");
  printf("*************************\n");
}
void game()
{
  int ret = rand() % 100 + 1;
  while (1)
  {
  printf("请输入一个数字:\n");
  int guess;
相关文章
|
6月前
|
C语言 C++
【C语言】rand()函数(如何生成指定范围随机数)
【C语言】rand()函数(如何生成指定范围随机数)
289 0
|
5月前
|
算法 Unix Linux
C语言随机数的产生(rand、srand、time函数细节讲解)
C语言随机数的产生(rand、srand、time函数细节讲解)
106 0
|
5月前
|
算法 编译器 C语言
【C语言】:详解随机数的生成和猜数字游戏的实现
【C语言】:详解随机数的生成和猜数字游戏的实现
130 0
|
6月前
|
C语言
猜数字游戏(详解+代码)
猜数字游戏(详解+代码)
248 1
|
6月前
|
存储 编译器 C语言
c语言随机数生成(rand,srand,time)
c语言随机数生成(rand,srand,time)
145 1
|
Python
Python实现猜数字游戏
Python实现猜数字游戏
140 0
|
6月前
|
机器学习/深度学习
PTA-阶乘函数实现
阶乘函数实现
76 0
|
6月前
|
C语言
用C语言写一个猜随机数的小游戏
用C语言写一个猜随机数的小游戏
57 0
|
6月前
|
C语言
time、rand和srand函数及应用(C语言)
系统生成一个1~100的随机数,然后用户去猜如果猜大了就提示猜大了,猜小了就提示猜小了,如果猜对了系统就提示找到了。 要想完成猜数,首先要生成随机数,生成随机数之后所有的问题就变得简单了,下面我们来学习几个随机函数的定义和使用。
|
算法 C语言
【C语言】猜数字小游戏——深度刨析rand函数生成随机数
【C语言】猜数字小游戏——深度刨析rand函数生成随机数
81 0