1 00:00:00,000 --> 00:00:09,250 2 00:00:09,250 --> 00:00:11,070 >> ZAMYLA陈:让跳进马里奥。 3 00:00:11,070 --> 00:00:14,850 马里奥是一个节目中我们会让我们 自己虽然原始版本 4 00:00:14,850 --> 00:00:17,760 一个经典的超级马里奥兄弟 游戏背景。 5 00:00:17,760 --> 00:00:21,100 对于这个问题集,我们将 重建半金字塔 6 00:00:21,100 --> 00:00:23,000 马里奥跳。 7 00:00:23,000 --> 00:00:27,330 我们的计划将是互动的,所以它 将要求用户输入目标 8 00:00:27,330 --> 00:00:28,660 金字塔的高度。 9 00:00:28,660 --> 00:00:32,920 程序将打印出 半金字塔的高度, 10 00:00:32,920 --> 00:00:37,390 左下方的哈希值与底对齐 左上角的终端 11 00:00:37,390 --> 00:00:39,710 输出窗口。 12 00:00:39,710 --> 00:00:44,870 >> 让我们打破了这个问题分为两部分, 一,获取用户输入,两个, 13 00:00:44,870 --> 00:00:47,040 打印出来的金字塔。 14 00:00:47,040 --> 00:00:51,150 请记住,虽然调用getInt功能 会检索一个整数, 15 00:00:51,150 --> 00:00:56,260 必须确保此输入使 你的程序的意义,所以在 16 00:00:56,260 --> 00:00:59,690 马里奥,它不会做的只是一个 产品的整数。 17 00:00:59,690 --> 00:01:03,440 你需要确保用户 输入一个整数,它的内 18 00:01:03,440 --> 00:01:06,985 的上限和下限的 金字塔,你可以打印。 19 00:01:06,985 --> 00:01:12,300 每本规范,这是 0和23(含)。 20 00:01:12,300 --> 00:01:16,410 如果用户输入的整数以外 我们接受的范围内,那么,我们要 21 00:01:16,410 --> 00:01:20,840 促使他们一次又一次,直到 他们给我们一个有效的整数。 22 00:01:20,840 --> 00:01:25,990 >> 的一个方法,以确保正确的用户输入 通过使用do-whil​​e循环,这是 23 00:01:25,990 --> 00:01:28,100 While循环非常相似。 24 00:01:28,100 --> 00:01:32,580 do-whil​​e循环执行的代码 身体内部的一次,然后检查 25 00:01:32,580 --> 00:01:35,270 条件是否符合或不。 26 00:01:35,270 --> 00:01:38,830 用于获取用户输入,这是非常有用的 因为你知道,你需要 27 00:01:38,830 --> 00:01:41,805 提示他们至少一次。 28 00:01:41,805 --> 00:01:45,940 如果不符合条件,程序 将执行线后 29 00:01:45,940 --> 00:01:47,270 您的do-whil​​e循环。 30 00:01:47,270 --> 00:01:50,950 如果该条件得到满足,虽然, 将重复循环。 31 00:01:50,950 --> 00:01:55,560 >> 一个DO-WHILE循环验证用户 输入会是这个样子。 32 00:01:55,560 --> 00:02:02,920 我声明了一个变量n,调用getInt 重复直到n是有效的。 33 00:02:02,920 --> 00:02:06,270 请记住,当你声明 可变的,它需要适当的 34 00:02:06,270 --> 00:02:08,449 范围,就像在刮。 35 00:02:08,449 --> 00:02:12,510 如果我宣布ň在我的do-whil​​e循环, 其余的程序将不会 36 00:02:12,510 --> 00:02:13,750 能够访问它。 37 00:02:13,750 --> 00:02:16,100 它是有限的局限 大括号。 38 00:02:16,100 --> 00:02:19,010 39 00:02:19,010 --> 00:02:23,090 >> 所有正确的,所以现在我们已经验证 用户的输入,我们确实需要 40 00:02:23,090 --> 00:02:25,020 得出这样的半金字塔。 41 00:02:25,020 --> 00:02:29,700 它是由打印的字符,所以 让我们做一个简单的半金字塔 42 00:02:29,700 --> 00:02:31,480 文本编辑器。 43 00:02:31,480 --> 00:02:35,920 如果我们希望让马里奥风格的金字塔 三个对齐的高度 44 00:02:35,920 --> 00:02:41,370 我们的窗口的左侧,然后 我们键入两个哈希值,点击进入, 45 00:02:41,370 --> 00:02:47,180 然后键入三个哈希值,单击“ 回车,然后输入四个。 46 00:02:47,180 --> 00:02:51,090 >> 但在这个问题上设置,我们 半金字塔是右对齐。 47 00:02:51,090 --> 00:02:55,550 使用标准的键盘,怎么可能 你修改这个文件移动哈希 48 00:02:55,550 --> 00:02:57,210 到右侧? 49 00:02:57,210 --> 00:03:03,190 我可能会使用为底线,两个 顶行和一个在第二。 50 00:03:03,190 --> 00:03:07,690 看起来不一样好,虽然,所以 让我们取代下划线 51 00:03:07,690 --> 00:03:12,450 的空间,在那里我们有一个半金字塔 高度三。 52 00:03:12,450 --> 00:03:16,330 >> 尝试记住这个文本编辑器 例如,当你开始回想起 53 00:03:16,330 --> 00:03:20,100 C.让我们试着找出一些 样的模式,我们可以 54 00:03:20,100 --> 00:03:22,750 放了一个循环结构。 55 00:03:22,750 --> 00:03:27,570 举个例子高度,说是八, ,看看你是否可以开始 56 00:03:27,570 --> 00:03:29,470 想出了一个模式。 57 00:03:29,470 --> 00:03:34,710 第一行有7个空格 接着由两个哈希。 58 00:03:34,710 --> 00:03:40,090 第二排有六个空格, 三个哈希值,并依此类推,直至 59 00:03:40,090 --> 00:03:41,440 第八行。 60 00:03:41,440 --> 00:03:45,210 >> 但是,你怎么会代表 的第n行? 61 00:03:45,210 --> 00:03:48,170 请记住,编程惯例 是从零开始编制索引。 62 00:03:48,170 --> 00:03:51,870 这意味着你开始计数 为零,所以第一行技术上是 63 00:03:51,870 --> 00:03:57,110 有两个舱口的行数为零,行 头号有三个哈希,行 64 00:03:57,110 --> 00:04:01,860 二号,所以有四个哈希 这种模式的任何行 65 00:04:01,860 --> 00:04:05,800 数n,有Ñ加2散列值。 66 00:04:05,800 --> 00:04:09,270 我会离开它给你,不过,找到 出图案的空间。 67 00:04:09,270 --> 00:04:12,240 请记住,你的格局将 略有不同的,如果你选择 68 00:04:12,240 --> 00:04:16,649 从开始计数 一个不为零。 69 00:04:16,649 --> 00:04:19,560 >> 现在,你有一个模式 任何抽象的n行。 70 00:04:19,560 --> 00:04:25,190 你知道多少空格打印和 多少哈希值,所以对于每一行,即 71 00:04:25,190 --> 00:04:26,270 数量将发生变化。 72 00:04:26,270 --> 00:04:30,700 但是,同样的打印过程的 单个字符,无论是空间或 73 00:04:30,700 --> 00:04:33,200 散列,是重复的。 74 00:04:33,200 --> 00:04:37,470 因此,所有你必须​​做的就是反复 多次打印该字符 75 00:04:37,470 --> 00:04:40,120 模式决定。 76 00:04:40,120 --> 00:04:42,522 >> 那么,我们如何重复的过程吗? 77 00:04:42,522 --> 00:04:45,160 在划痕中,我们使用了重复块。 78 00:04:45,160 --> 00:04:48,580 在C语言中,我们将使用一个for循环。 79 00:04:48,580 --> 00:04:51,290 让我们来看看语法 对于循环。 80 00:04:51,290 --> 00:04:57,140 >> 每个循环是由三个 部分,一个初始化条件 81 00:04:57,140 --> 00:04:58,592 和更新。 82 00:04:58,592 --> 00:05:01,550 您的For循环将初始化 一个变量时,它首先 83 00:05:01,550 --> 00:05:02,960 进入循环。 84 00:05:02,960 --> 00:05:07,100 如果条件满足,身体 该循环将执行。 85 00:05:07,100 --> 00:05:10,070 之后,将执行更新。 86 00:05:10,070 --> 00:05:13,630 >> 如果病情仍满足, 循环将执行和更新 87 00:05:13,630 --> 00:05:18,580 只要你的病情重复 计算结果为True。 88 00:05:18,580 --> 00:05:21,450 你的条件必须最终计价 为False,不过,因为 89 00:05:21,450 --> 00:05:24,490 不像划痕,我们不这样做 有任何永远环路。 90 00:05:24,490 --> 00:05:28,270 你的程序必须最终结束。 91 00:05:28,270 --> 00:05:32,330 >> 下面是一个例子,一个for循环 你可能想使用的马里奥。 92 00:05:32,330 --> 00:05:36,790 初始化声明 值为0的整数i。 93 00:05:36,790 --> 00:05:40,750 只要我不到的高度, 循环体将执行 94 00:05:40,750 --> 00:05:44,980 增加i和重复 直到i大于或 95 00:05:44,980 --> 00:05:47,220 的高度相等。 96 00:05:47,220 --> 00:05:49,140 >> 现在,我的For循环指数为零。 97 00:05:49,140 --> 00:05:52,270 INT I为零,没有一个开始。 98 00:05:52,270 --> 00:05:55,320 如果我选择一个,那么我的病情会 还必须是不同的 99 00:05:55,320 --> 00:05:58,740 循环执行 相同的次数。 100 00:05:58,740 --> 00:06:03,490 记住这一点,当你仔细 选择初始化和您的 101 00:06:03,490 --> 00:06:08,660 条件,并咨询 图表仔细检查。 102 00:06:08,660 --> 00:06:13,430 >> 有关计算机的伟大的事情之一 科学是,有这么多 103 00:06:13,430 --> 00:06:15,490 的方式来执行的事情。 104 00:06:15,490 --> 00:06:19,450 您可以选择是否 开始零次或一次。 105 00:06:19,450 --> 00:06:22,380 如果你不想使用一个For循环, 你也可以使用一个while循环 106 00:06:22,380 --> 00:06:26,530 只要你的重复报表 保持一个For循环的本质, 107 00:06:26,530 --> 00:06:31,430 初始化,条件和更新。 108 00:06:31,430 --> 00:06:36,890 一旦我们弄清楚循环, 我们是最舒服的,那么我们 109 00:06:36,890 --> 00:06:38,450 可以完成马里奥。 110 00:06:38,450 --> 00:06:41,540 >> 我们首先检查用户输入 然后确定了 111 00:06:41,540 --> 00:06:43,580 任何n行的模式。 112 00:06:43,580 --> 00:06:49,990 因此,对于从零到n减1的每一行 将打印适当数量的 113 00:06:49,990 --> 00:06:55,340 空间,然后适当数量的 哈希值,根据我们的模式, 114 00:06:55,340 --> 00:06:57,180 然后一个新行。 115 00:06:57,180 --> 00:06:59,640 有了这一点,你有你的金字塔。 116 00:06:59,640 --> 00:07:02,630 我的名字是Zamyla,这是马里奥。 117 00:07:02,630 --> 00:07:11,765