揚聲器1:讓我們寫一個程序, 提示用戶輸入一個正 整數n,然後打印出 所有的數字的總和 介於1和n。 好了,下面我們有主,我已經 已經預先寫入。 並注意這裡的頂部 主,我宣布一個詮釋n。 然後,我,一個做,而內 循環中,首先打印出 正整數,請。 然後,我繼續從得到一個整數 與CS50庫的獲取用戶 INT函數。 然後在我的病情,而在這裡,我 確保n大於或 等於1之前,我確實進行 做一些與該值。 我該怎麼辦呢? 好吧,我打電話,我要去一個函數 打電話給西格瑪,代表 資本西格瑪,你可能有 從數學課回憶說, 表示要總結的東西 從一個值到另一個。 此外,無論該函數的返回 它的返回值,我要存儲 在一個名為答案的變量。 最後,我在主最後一行,我 將打印出的答案是什麼。 當然,我們還沒有實現 這個函數西格瑪。 那麼,我們如何去這樣做? 嗯,我的文件的底部,我 要進行聲明一個函數 返回一個int。 我要去打電話 該函數西格瑪。 我要去指定作為輸入 該函數也接受一個int。 和我就稱呼它,是 層次分明,米而不是n。 但我們可以把它稱為 任何東西,我們想。 在這個函數中,我的本體的 要繼續使用熟悉的 構造,即一個循環。 但我也要做一點理智 檢查,以確保 用戶沒有向我提供了一些 那我不期待。 尤其是,我要怎麼做,如果m是 小於1,並且,有些武斷, 我只是要返回0,如果 數不是正 整數,如我所料。 然後,我要聲明一個變量 所謂的總和,它初始化為0。 這將最終存儲的總和 所有l和m之間的數字。 然後,我將使用一個熟悉的 向前循環結構。 對於int我得到1,i小於 或等於M,I加再加。 然後,該主體內 環,我只是打算做一筆 等於總和再加上我。 或者更簡單地說,總和等於加我, 這可以實現相同的結果。 然後最後,我需要返回 我已經計算出的總和。 所以,我想補充的回報總和。 現在,我還沒說完呢。 我需要教授C,這 功能確實存在。 所以上面我的檔案我要申報 我們所稱為函數 原型,相同的簽名 我定義函數時使用 剛才。 具體來說,略高於主, 我會為int類型 西格瑪,整數M,分號。 如不執行功能 再次,簡單地聲明它。 如果我現在保存,編譯和運行這個 方案,讓我們看看我得到的。 讓西格瑪0點斜線西格瑪0。 現在,讓我們提供一個正整數 像2,這應該給我 3,因為之間的值 1和2是1加2等於3。 事實上,這就是我得到的。 讓我們再次運行它,這 時間,也就是說,3。 所以,我應該得到1加2加 3應該給我6。 而事實上,我也得6。 讓我們嘗試最後一個值,比如50。 而1,275是我們的答案。