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