你好, 欢迎｡
你们准备好接受另一个挑战了吗
我知道我是｡
既然我们谈完了 让我们来应用它们｡
让我们试着找出 如何解决问题｡
所以在这个挑战中, 你要 创建一个猜测c数的程序｡
会很酷的｡
这将是一个小游戏｡
接下来发生的是 程序将生成一个0到20的随机数｡
在你生成了它之后 一个随机数,
你要让用户猜它是什么｡
因此, 用户只能 以输入0到20之间的数字｡
如果他们试图像 第50号, 您将显示一个错误,
并说, 嘿, 您可以 请仅输入0到20之间的数字｡
所以这是一个规定｡
但一旦用户真正获得了 猜测,
并且它是一个有效的猜测, 然后您将告诉用户 或太高或太低｡
或者如果他们是正确的, 你会 显示他们是正确的,
他们将赢得比赛｡
现在他们只有一定的 他们能猜出正确数字的次数｡
他们只能猜测 该数字的5倍｡
五次之后, 他们输掉了比赛｡
所以这个游戏就是 猜出正确的数字｡
从0到20的任何数字, 您要 验证用户的输入以确保他们从20输入0｡
如果他们输入了一些东西 如果尝试次数少于5次, 您会告诉他们, 嘿,
这太高了 或者, 嘿,
这个数字比他们应该猜测的数字低了｡
这些都是 要求的程序,
一个基本的猜你的号码型游戏｡
现在输出是什么样子的｡
为了给予你了解我 设计了它, 你可能想遵循｡
这件事 当我第一次启动 程序中, 我显示了一条小消息｡
我说这是个猜谜游戏, 让他们知道发生了什么｡
然后我告诉他们我有 我选了一个0到20之间的数字, 你必须猜一猜｡
你还有五次机会猜｡
我接着说输入一个猜测｡
他们应该 输入他们的猜测｡
他们输入12, 我打印 对不起, 12是错的,
我的号码比12少｡
然后我给你展示了 我还有四次机会｡
然后他们输入了一个猜测 8, 我说, 好吧,
8也是错的, 我的数字比那个还小｡
然后他们输入3, 我说他们 还剩3次, 他们进入了4次｡
我说4是错的｡
然后他们试了两次 离开了,
他们终于猜到了我的号码是2｡
一旦他们猜对了数字, 我跟他们说恭喜你,
你猜对了, 所以他们赢了比赛 因为他们还有两次机会｡
这是一种基本的简单游戏 在这里你需要使用if语句
需要使用while循环｡
所以你需要用一个
循环, 因为您必须一直要求输入, 直到 用户猜对或直到尝试次数超过5次｡
所以最好的方法之一 启动这样一个程序就是写下你要怎么做
在纸上创建程序｡
我建议你这么做 因为如果你在纸上写下如何解决这个问题
解决起来就容易多了｡
你可以把它写出来
伪代码, 所以它只是英语语言, 但是您想识别
循环和if的位置 语句来检查条件｡
因为如果你看看这个 输出时, 您必须检查许多条件｡
while循环将检查
for条件或for循环, 它将检查以确保 如果您猜对了或者尝试次数大于5, 则exits循环｡
你会有条件 也验证他们输入的内容｡
所以你会有一个 if语句说, 嘿,
您刚刚输入了一个数字｡
如果不在0到20之间 你可能还想用一个嵌套循环来处理这个问题｡
因为你想一直问
输入另一个号码, 直到输入有效号码, 不是您猜测的正确数字, 而是一个有效数字｡
所以我可以看到 对外部循环进行编程｡
外部循环将是
要求用户输入数字, 直到他们成功猜出 或者直到他们已经成功地尝试了他们的次数｡
我可以看到一个内部循环 它会询问0到20之间的数字是否无效, 他们会一直问
用户输入一个有效数字｡
然后我就能看到 基本上检查该数字是否太低､
太高或相等｡
因为你有多个出口
外循环的条件, 无论您是否猜到
正确或数字是否相等, 这可能是一个很好的 使用break陈述式的案例｡
因为记住, 你用 当您有多个出口时,
请使用break语句｡
这样你就可以 如果他们猜对了就跳出来｡
然后是外部条件 循环本身在while循环或for循环本身中,
条件 x, 它将是尝试的次数是否大于5｡
这是一种设计方法｡
我提到了很多事情｡
你唯一剩下的 一切都听你的｡
如果你学会了我想说的一切 除了这个随机数发生器｡
这是新的｡
您知道如何使用if语句,
你知道怎么做循环, 怎么声明变量, 你知道所有这些美好的事情｡
您知道如何将输出打印到 但你不知道如何使用随机数生成器｡
所以我要给予 你的代码｡
您需要生成一个随机数｡
因为每次运行 程序, 你想有一个新的数字,
他们可以猜测｡
所以要产生一个随机数 从0到20, 这些是你必须遵循的步骤｡
首先, 您必须包括2个额外的 库, 标准库. h､ 时间｡ h.工作人员
所以您要添加以下内容 指令｡
标准库 h将允许您使用 srand函数,
它允许您生成随机数｡
时间到了 h允许您提供 使用时间为随机数取种子,
得到当前时间｡
因此, 当我们将额外的 函数库, 这就意味着我们要执行
一些附加功能｡
我们还没谈过 c自带的标准库,
但它们附带了两个不错的 获取当前时间, 同时生成随机
我们将要用到的数字｡
所以我们先把那些 2个指令位于顶部｡
然后我们将创建一个
变量, 而您 我可以把它命名为t, 你加上这个｡
一旦添加了时间变量, 可以使用srand函数初始化随机数生成器｡
所以你要做的就是说srand｡
这提供了种子 随机数发生器, 它只是用来初始化它
在这里你只要复制这一行 编写srand（（unsigned）和time, 然后传递一个“与”号测试｡
甚至不必了解 这段代码的作用,
复制并粘贴即可｡
但它正在生成一个 random, 它正在初始化随机数生成器｡
在初始化 随机数生成器,
你必须生成的数字｡
而你所做的一切
你说兰德, 你调用一个名为rand的函数 说%21是一个模块, 因为您希望它介于0
和21, 则使用硬编码的21｡
你可以把这个随机数
一个整数, 这就是你要比较的数字 无论他们是否猜对都退出循环｡
这也将是 你可以和它比较来决定
打印太低或太高｡
所以这应该会很有趣｡
再一次, 你要讲的很多概念 if语句､
循环构造､ break 语句､ 内部和外部循环､
嵌套循环, 还有很多不错的东西｡
祝你好运, 玩得开心, 下节课我会给出一个答案｡
-谢谢—谢谢