ZAMYLA陈:让跳进马里奥。 马里奥是一个节目中我们会让我们 自己虽然原始版本 一个经典的超级马里奥兄弟 游戏背景。 对于这个问题集,我们将 重建半金字塔 马里奥跳。 我们的计划将是互动的,所以它 将要求用户输入目标 金字塔的高度。 程序将打印出 半金字塔的高度, 左下方的哈希值与底对齐 左上角的终端 输出窗口。 让我们打破了这个问题分为两部分, 一,获取用户输入,两个, 打印出来的金字塔。 请记住,虽然调用getInt功能 会检索一个整数, 必须确保此输入使 你的程序的意义,所以在 马里奥,它不会做的只是一个 产品的整数。 你需要确保用户 输入一个整数,它的内 的上限和下限的 金字塔,你可以打印。 每本规范,这是 0和23(含)。 如果用户输入的整数以外 我们接受的范围内,那么,我们要 促使他们一次又一次,直到 他们给我们一个有效的整数。 的一个方法,以确保正确的用户输入 通过使用do-whil​​e循环,这是 While循环非常相似。 do-whil​​e循环执行的代码 身体内部的一次,然后检查 条件是否符合或不。 用于获取用户输入,这是非常有用的 因为你知道,你需要 提示他们至少一次。 如果不符合条件,程序 将执行线后 您的do-whil​​e循环。 如果该条件得到满足,虽然, 将重复循环。 一个DO-WHILE循环验证用户 输入会是这个样子。 我声明了一个变量n,调用getInt 重复直到n是有效的。 请记住,当你声明 可变的,它需要适当的 范围,就像在刮。 如果我宣布ň在我的do-whil​​e循环, 其余的程序将不会 能够访问它。 它是有限的局限 大括号。 所有正确的,所以现在我们已经验证 用户的输入,我们确实需要 得出这样的半金字塔。 它是由打印的字符,所以 让我们做一个简单的半金字塔 文本编辑器。 如果我们希望让马里奥风格的金字塔 三个对齐的高度 我们的窗口的左侧,然后 我们键入两个哈希值,点击进入, 然后键入三个哈希值,单击“ 回车,然后输入四个。 但在这个问题上设置,我们 半金字塔是右对齐。 使用标准的键盘,怎么可能 你修改这个文件移动哈希 到右侧? 我可能会使用为底线,两个 顶行和一个在第二。 看起来不一样好,虽然,所以 让我们取代下划线 的空间,在那里我们有一个半金字塔 高度三。 尝试记住这个文本编辑器 例如,当你开始回想起 C.让我们试着找出一些 样的模式,我们可以 放了一个循环结构。 举个例子高度,说是八, ,看看你是否可以开始 想出了一个模式。 第一行有7个空格 接着由两个哈希。 第二排有六个空格, 三个哈希值,并依此类推,直至 第八行。 但是,你怎么会代表 的第n行? 请记住,编程惯例 是从零开始编制索引。 这意味着你开始计数 为零,所以第一行技术上是 有两个舱口的行数为零,行 头号有三个哈希,行 二号,所以有四个哈希 这种模式的任何行 数n,有Ñ加2散列值。 我会离开它给你,不过,找到 出图案的空间。 请记住,你的格局将 略有不同的,如果你选择 从开始计数 一个不为零。 现在,你有一个模式 任何抽象的n行。 你知道多少空格打印和 多少哈希值,所以对于每一行,即 数量将发生变化。 但是,同样的打印过程的 单个字符,无论是空间或 散列,是重复的。 因此,所有你必须​​做的就是反复 多次打印该字符 模式决定。 那么,我们如何重复的过程吗? 在划痕中,我们使用了重复块。 在C语言中,我们将使用一个for循环。 让我们来看看语法 对于循环。 每个循环是由三个 部分,一个初始化条件 和更新。 您的For循环将初始化 一个变量时,它首先 进入循环。 如果条件满足,身体 该循环将执行。 之后,将执行更新。 如果病情仍满足, 循环将执行和更新 只要你的病情重复 计算结果为True。 你的条件必须最终计价 为False,不过,因为 不像划痕,我们不这样做 有任何永远环路。 你的程序必须最终结束。 下面是一个例子,一个for循环 你可能想使用的马里奥。 初始化声明 值为0的整数i。 只要我不到的高度, 循环体将执行 增加i和重复 直到i大于或 的高度相等。 现在,我的For循环指数为零。 INT I为零,没有一个开始。 如果我选择一个,那么我的病情会 还必须是不同的 循环执行 相同的次数。 记住这一点,当你仔细 选择初始化和您的 条件,并咨询 图表仔细检查。 有关计算机的伟大的事情之一 科学是,有这么多 的方式来执行的事情。 您可以选择是否 开始零次或一次。 如果你不想使用一个For循环, 你也可以使用一个while循环 只要你的重复报表 保持一个For循环的本质, 初始化,条件和更新。 一旦我们弄清楚循环, 我们是最舒服的,那么我们 可以完成马里奥。 我们首先检查用户输入 然后确定了 任何n行的模式。 因此,对于从零到n减1的每一行 将打印适当数量的 空间,然后适当数量的 哈希值,根据我们的模式, 然后一个新行。 有了这一点,你有你的金字塔。 我的名字是Zamyla,这是马里奥。