用“C语言”实现一个简单的猜数字小游戏

脏脏a 2024-10-15 08:05:01 阅读 78

1.游戏要求

     1.电脑随机生成1到100的随机数。

     2.玩家猜数字,猜数字过程中,根据猜测数字的大小给出猜大或者猜小的结果反馈,直到猜对,游戏结束。

2.随机数生成

    C语言提供了一个函数叫rand,这个函数可以生成随机数,函数原型如下:

   该函数会返回一个伪随机数,这个随机数的生成范围实在0到RAND_MAX之间,RAND_MAX的大小是依赖编译器上实现的,但是大部分编译器上是32767。

   rand函数的使用需要包括头文件:stdlib.h。

第一次运行:

 第二次运行:

   由此可见两次的运行结果是一样的,所以我们得到的不是真正意义上的随机数。那是因为rand函数是对一个叫“种子”的基准值进行运算生成的随机数,又因为默认种子是1,所以这两次运算的结果是一样的,如果想要生成不同的随机数,就要让种子是变化的。

这时候我们引进来一个新的函数叫srand,他是用来初始化随机数的生成器,srand的原型如下:

   程序在调用rand函数前先调用srand函数,通过srand函数的参数seed来设置rand函数生成随机数的时候的种子,只要种子在变化,每次生成的随机数就在变化。

  那也就是说给srand的种子如果是随机的,rand就能生成随机数;在生成随机数的同时又需要一个随机数 ,那这就矛盾了。

  在程序中我们一般是使用程序运行的时间作为种子的,因为时间时刻在发生变化的。

在C语言中有个函数叫time,就可以获得这个时间,time函数的原型如下:

具体就不介绍了,直接上代码:

 OK,现在随机数的生成我们已经解决,那我们要生成1到100之间的随机数我们该如何去做那;

 rand%100;  余数的范围是0到99;

 rand%100 + 1 ;范围是1到100;

3.代码的实现

 



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。