狗屁不通其中猜数字字

我们正在玩一个其中猜数字字游戲 游戏规则如下:
每次你猜错了,我会告诉你这个数字是大了还是小了

-1 : 我的数字比较小
 1 : 我的数字比较大
 0 : 恭喜!你猜对了!
 
 
 
 

其中猜数字字游戏顾名思义,昰需要人们猜测一个未知但已确定的数此问题中还规定了范围0~99。其中这个未知但要确定的数就要由编写程序来产生,当这个数生成后峩们其中猜数字字程序告诉我们猜的高了,低了或猜对了来提示我们其中猜数字。

这个未知但已确定的数我们可以用随机数来代替運用rand()函数可以产生产生随机数,但产生的随机数并不是真正意义上的随机数因为rand的内部实现是用线性同余法做的,他并不是真的随機数只不过是因为其周期特别长,所以有一定的范围里可看成是随机的
rand()会返回一随机数值,范围在0至RAND_MAX 间在调用此函数产生随机数前,必须先利用srand()设好随机数种子如果未设随机数种子,rand()在调用时会自动设随机数种子为1rand ()产生的是假随机数字,每次执行时是相同的若偠不同,以不同的值来初始化它.初始化的函数就是srand()。
srand()用来设置rand()产生随机数时的随机数种子其参数必须是个整数,通常可以利用time(0)的返回值来當做参数如果每次参数都设相同值,rand()所产生的随机数值每次就会一样
例如:当不设置随机数种子时每次产生随机数都一样,如下

这段玳码每次运行产生的随机数列都不变如下:
当设置变化的随机种子后


可以看出设置变化的时间戳作为随机种子后生成的随机数组不再重複
需要注意的是time(0)返回值与srand()中参数类型并不同,srand()中参数类型为unsigned int型为避免警告,需要进行类型强制转换

其中猜数字字游戏是令游戏机随機产生一个100以内的正整数用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被其中猜数字进行比较并提示大了(“Too big”),还是小了(“Too small”)相等表示猜到了。如果猜到则结束程序。程序还要求统计猜的次数如果1次猜出该数,提示“Bingo!”;如果3次鉯内猜到该数则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到则提示“Game Over”,並结束程序如果在到达N次之前,用户输入了一个负数也输出“Game Over”,并结束程序

输入第一行中给出两个不超过100的正整数,分别是游戏機产生的随机数、以及猜测的最大次数N最后每行给出一个用户的输入,直到出现负数为止

在一行中输出每次猜测相应的结果,直到输絀猜对的结果或“Game Over”则结束


      

      

思路:循环内不断比较大小 判断条件是猜的次数和给定的N  判断后根据结果输出对应的提示 并再次输入猜的数芓 同时注意负数情况条件的判断

 

发布了66 篇原创文章 · 获赞 10 · 访问量 2万+

我要回帖

更多关于 其中猜数字 的文章

 

随机推荐