1 00:00:00,000 --> 00:00:02,830 >> 扬声器1:让我们写一个程序, 提示用户输入一个正 2 00:00:02,830 --> 00:00:05,950 整数n,然后打印出 所有的数字的总和 3 00:00:05,950 --> 00:00:07,980 介于1和n。 4 00:00:07,980 --> 00:00:10,580 好了,下面我们有主,我已经 已经预先写入。 5 00:00:10,580 --> 00:00:13,520 并注意这里的顶部 主,我宣布一个诠释n。 6 00:00:13,520 --> 00:00:16,079 >> 然后,我,一个做,而内 循环中,首先打印出 7 00:00:16,079 --> 00:00:17,530 正整数,请。 8 00:00:17,530 --> 00:00:21,070 然后,我继续从得到一个整数 与CS50库的获取用户 9 00:00:21,070 --> 00:00:22,070 INT函数。 10 00:00:22,070 --> 00:00:26,410 然后在我的病情,而在这里,我 确保n大于或 11 00:00:26,410 --> 00:00:30,480 等于1之前,我确实进行 做一些与该值。 12 00:00:30,480 --> 00:00:31,520 >> 我该怎么办呢? 13 00:00:31,520 --> 00:00:34,690 好吧,我打电话,我要去一个函数 打电话给西格玛,代表 14 00:00:34,690 --> 00:00:37,700 资本西格玛,你可能有 从数学课回忆说, 15 00:00:37,700 --> 00:00:40,860 表示要总结的东西 从一个值到另一个。 16 00:00:40,860 --> 00:00:44,540 此外,无论该函数的返回 它的返回值,我要存储 17 00:00:44,540 --> 00:00:46,500 在一个名为答案的变量。 18 00:00:46,500 --> 00:00:50,280 >> 最后,我在主最后一行,我 将打印出的答案是什么。 19 00:00:50,280 --> 00:00:52,840 当然,我们还没有实现 这个函数西格玛。 20 00:00:52,840 --> 00:00:54,590 那么,我们如何去这样做? 21 00:00:54,590 --> 00:00:58,040 >> 嗯,我的文件的底部,我 要进行声明一个函数 22 00:00:58,040 --> 00:00:59,450 返回一个int。 23 00:00:59,450 --> 00:01:01,630 我要去打电话 该函数西格玛。 24 00:01:01,630 --> 00:01:06,340 我要去指定作为输入 该函数也接受一个int。 25 00:01:06,340 --> 00:01:09,800 和我就称呼它,是 层次分明,米而不是n。 26 00:01:09,800 --> 00:01:12,120 但我们可以把它称为 任何东西,我们想。 27 00:01:12,120 --> 00:01:14,930 >> 在这个函数中,我的本体的 要继续使用熟悉的 28 00:01:14,930 --> 00:01:16,420 构造,即一个循环。 29 00:01:16,420 --> 00:01:19,010 但我也要做一点理智 检查,以确保 30 00:01:19,010 --> 00:01:22,340 用户没有向我提供了一些 那我不期待。 31 00:01:22,340 --> 00:01:28,010 尤其是,我要怎么做,如果m是 小于1,并且,有些武断, 32 00:01:28,010 --> 00:01:31,280 我只是要返回0,如果 数不是正 33 00:01:31,280 --> 00:01:32,800 整数,如我所料。 34 00:01:32,800 --> 00:01:36,920 >> 然后,我要声明一个变量 所谓的总和,它初始化为0。 35 00:01:36,920 --> 00:01:40,810 这将最终存储的总和 所有l和m之间的数字。 36 00:01:40,810 --> 00:01:43,550 然后,我将使用一个熟悉的 向前循环结构。 37 00:01:43,550 --> 00:01:50,272 对于int我得到1,i小于 或等于M,I加再加。 38 00:01:50,272 --> 00:01:54,010 然后,该主体内 环,我只是打算做一笔 39 00:01:54,010 --> 00:01:56,350 等于总和再加上我。 40 00:01:56,350 --> 00:02:01,900 或者更简单地说,总和等于加我, 这可以实现相同的结果。 41 00:02:01,900 --> 00:02:04,810 >> 然后最后,我需要返回 我已经计算出的总和。 42 00:02:04,810 --> 00:02:07,640 所以,我想补充的回报总和。 43 00:02:07,640 --> 00:02:08,560 >> 现在,我还没说完呢。 44 00:02:08,560 --> 00:02:11,360 我需要教授C,这 功能确实存在。 45 00:02:11,360 --> 00:02:14,400 所以上面我的档案我要申报 我们所称为函数 46 00:02:14,400 --> 00:02:18,270 原型,相同的签名 我定义函数时使用 47 00:02:18,270 --> 00:02:19,250 刚才。 48 00:02:19,250 --> 00:02:22,450 >> 具体来说,略高于主, 我会为int类型 49 00:02:22,450 --> 00:02:26,080 西格玛,整数M,分号。 50 00:02:26,080 --> 00:02:29,240 如不执行功能 再次,简单地声明它。 51 00:02:29,240 --> 00:02:32,800 如果我现在保存,编译和运行这个 方案,让我们看看我得到的。 52 00:02:32,800 --> 00:02:37,460 让西格玛0点斜线西格玛0。 53 00:02:37,460 --> 00:02:41,050 现在,让我们提供一个正整数 像2,这应该给我 54 00:02:41,050 --> 00:02:45,920 3,因为之间的值 1和2是1加2等于3。 55 00:02:45,920 --> 00:02:47,300 事实上,这就是我得到的。 56 00:02:47,300 --> 00:02:49,940 >> 让我们再次运行它,这 时间,也就是说,3。 57 00:02:49,940 --> 00:02:53,470 所以,我应该得到1加2加 3应该给我6。 58 00:02:53,470 --> 00:02:54,740 而事实上,我也得6。 59 00:02:54,740 --> 00:02:57,380 >> 让我们尝试最后一个值,比如50。 60 00:02:57,380 --> 00:03:01,160 而1,275是我们的答案。 61 00:03:01,160 --> 00:03:02,253