我的位置: 首頁 > 學習專區(qū) > .NET技術 > 簡單的C語言算法舉例

簡單的C語言算法舉例

2013-04-17 13:52:35
來源:
[導讀] 【例2 1】求1×2×3×4×5。 最原始方法: 步驟1:先求1×2,得到結果2。 步驟2:將步
       【例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, 返回重新執(zhí)行步驟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,否則,結束。

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

       思考:若將 S5寫成: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年中的每一年是否閏年,將結果輸出。潤年的條件:
  1. 能被4整除,但不能被100整除的年份;
  2. 能被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繼續(xù)執(zhí)行,否則,結束。

       深圳北大青鳥嘉華校區(qū)
評論
熱點專題
>>
相關文章推薦
>>
好吊妞免费视频在线观看,久久亚洲国产人成综合网,久久精品国产2020,欧美精品综合在线
亚洲精品熟女国产 | 亚洲日本乱码在线观看 | 中文字幕精品免费 | 亚洲欧洲日本在线视频 | 欧美一级一区二区三区免费 | 免费99精品国产自在48 |