您好,登錄后才能下訂單哦!
今天小編給大家分享一下如何用C語言代碼求1到100的和的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。
題目:求1+2+3+……+98+99+100
(1)用數學方法求解
(2)編寫C語言程序求解
解:
(1)數學方法
S = 1+2+3+……+98+99+100 = (1+100) + (2+99) + (3+98) + …… + (49+52) + (50+51) = 101 * 50 = 5050
(2)C語言編程
#include <stdio.h> int main() { int sum = 0; // 賦初值 for(int i = 1; i <= 100; i++) { sum = sum + i; } printf("total is %d\n", sum); }
運行結果:
total is 5050
分析:
(1)第一次循環
i = 1, sum = sum + i = 0 + 1 = 1,這里右邊的sum的值為初值0,將1賦給左邊的sum后,sum的最新值變成了1
(2)第二次循環
i = 2, sum = sum + i = 1 + 2 = 3, 這里右邊的sum的值已經通過上一步的計算變成了1。把3賦值給左邊的sum后,sum的最新值
就成了3
(3)第三次循環
i = 3, sum = sum + i = 3 + 3 = 6, 這里右邊的sum的值已經通過上一步的計算變成了3。把計算結果6賦值給左邊的sum后,sum的最新值就成了6
(4)第四次循環
i = 4, sum = sum + i = 6 + 4 = 10, 這里右邊的sum的值已經通過上一步的計算變成了6。把計算結果10賦值給左邊的sum后,sum的最新值就成了10
(5)……這樣執行一百次后,得到的結果為5050
新知識點:
sum = sum + i可以寫成sum += i,都是讓sum和i相加后,把新的值賦給sum。
以后編程盡量使用+=這種方式。
理由:C語言要通過編譯器編譯,在編譯器沒開啟優化的情況下,兩種寫法是完全等價的;編譯器開啟了優化后,+=的執行速度可能會快一點。(這個先有點印象即可,目前不用深入了解)
作業:
(1)調試上面的程序。每次運行到右大括號時,把鼠標懸在sum上面,觀察sum的值。
上面的程序會循環100次,調試的時候,循環10次左右就可以step out了。
(2)
把sum = sum + i改成sum += i,運行結果
#include <stdio.h> int main() { int sum = 0; // 賦初值 for(int i = 1; i <= 100; i++) { sum += i; } printf("total is %d\n", sum); }
以上就是“如何用C語言代碼求1到100的和”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。