程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 簡單的C語言算法舉例

簡單的C語言算法舉例

編輯:關於C語言
 

【例2-1】求1×2×3×4×5。

最原始方法:
步驟1:先求1×2,得到結果2。
步驟2:將步驟1得到的乘積2乘以3,得到結果6。
步驟3:將6再乘以4,得24。
步驟4:將24再乘以5,得120。

這樣的算法雖然正確,但太繁。

改進的算法:
S1:使t=1
S2:使i=2
S3:使 t×i,乘積仍然放在在變量t中,可表示為 t×i -> t
S4:使i的值+1,即 i+1 -> i
S5:如果i≤5,返回重新執行步驟S3以及其後的S4和S5;否則,算法結束。

如果計算100!只需將“S5:若i≤5”改成“i≤100”即可。

如果改成求1×3×5×7×9×11,算法也只需做很少的改動:
S1:1 -> t
S2:3 -> i
S3:t×i -> t
S4:i+2 -> t
S5:若i≤11,返回S3;否則,結束。

該算法不僅正確,而且是計算機較好的算法,因為計算機是高速運算的自動機器,實現循環輕而易舉。

思考:若將S5寫成:“若i<11,返回S3;否則,結束”會怎樣。

【例2-2】有50個學生,要求將他們之中成績在80分以上者打印出來。如果,n表示學生學號,ni表示第個學生學號;g表示學生成績,gi表示第個學生成績;則算法可表示如下:
S1:1 -> i
S2:如果gi≥80,則打印ni和gi,否則不打印
S3:i+1 -> i
S4:若i≤50,返回S2,否則,結束。

【例2-3】判定2000 ~ 2500年中的每一年是否閏年,將結果輸出。潤年的條件:

  • 能被4整除,但不能被100整除的年份;
  • 能被100整除,又能被400整除的年份。


設y為被檢測的年份,則算法可表示如下:
S1:2000 -> y
S2:若y不能被4整除,則輸出y“不是閏年”,然後轉到S6
S3:若y能被4整除,不能被100整除,則輸出y“是閏年”,然後轉到S6
S4:若y能被100整除,又能被400整除,輸出y“是閏年” 否則輸出y“不是閏年”,然後轉到S6
S5:輸出y“不是閏年”。
S6:y+1 -> y
S7:當y≤2500時,返回S2繼續執行,否則,結束。
 


示意圖  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved