写一个猜数字游戏

游戏要求:

1:电脑自动生成1–100的随机数

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

首先,我们要满足第一个条件,生成一个随机数,函数原型如下:

int rand (void);

rand函数会返回一个伪随机数,同时他的使用需要包含一个头文件stdlib.h。

那我们先来看看rand函数的效果

4f0fff8237dd42a2a784b70a1602662e.jpg

 将其多调试几次看看结果

2bd676993069485a8083a80d7e26e8bf.jpg

 我们可以看到,虽然说它这里产生的五个随机数确实都是随机的,但下一次运行程序的结果却和上一次一样,这就说明有问题了。

而这里的问题就在于,因为上面说过,rand函数返回的是一个伪随机数,并不是真正的随机数,而rand函数是对一个叫种子的基准值进行运算生成的随机数。

之所以前面每次运行程序产生的随机数序列是一样的,那是因为rand函数生成随机数的默然种子是1。如果要生成不同的随机数,就要让种子变化。

因此,c语言又提供了一个函数叫srand,用来初始化随机数的生成器,srand的原型如下:

void srand(unsigned int seed);

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

而在c语言中有个函数叫time,可以用这个获得时间,作为种子,因为时间每时每刻都在变化。time函数的使用需要包含头文件:time.h

a99d0e5d0d264ce880506f8e3ae918f9.jpg

b7a3c28a12de4d7bbdd148a828e299a2.jpg 

现在我们把这个代码写来看看。a954185e847f4af1bbf12ac36cbaf46f.jpg

 这里先写了一个打印菜单的函数,

cfedff1b412743689c8d512f631f3ea5.jpg

 

其次,这是进行游戏的函数

eea561de8f9b4afea0e2dfb32b3763d9.jpg

 最后这是我们的主函数。

这个猜字谜游戏的c语言函数代码写起来比较简单,但仍然有些细节需要注意,比如,在写game函数的时候就需要注意将scanf函数写在while循环里,不然写在外面就会造成死循环,相反,写在里面的话,这个b的值,也就是你猜的值就会一直根据自己来进行调整。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值