10個經典C語言演算法—零基礎小白必學

qq_31208977發表於2018-06-08

C語言中有有許多經典的演算法,這些演算法都是許多人的智慧結晶,也是程式設計中常用的演算法,這裡麵包含了眾多演算法思想,掌握這些演算法,對於學習更高階的、更難的演算法都會有很大的幫助,會為自己的演算法學習打下堅實的基礎。

接下來我們先來看10道:

(1) 輸出9*9乘法口訣

10個經典C語言演算法—零基礎小白必學

執行結果:

10個經典C語言演算法—零基礎小白必學

(2) 列印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方

程式分析:利用for迴圈控制100-999個數,每個數分解出個位,十位,百位。

10個經典C語言演算法—零基礎小白必學

(3) 程式設計列印楊輝三角

10個經典C語言演算法—零基礎小白必學

執行結果:

10個經典C語言演算法—零基礎小白必學

(4) 一球從100米高度自由落下,每次落地後反跳回原高度的一半;再落下,求它在第10次落地時,共經過多少米?第10次反彈多高?

程式原始碼:

10個經典C語言演算法—零基礎小白必學

(5) 一隻猴子摘了N個桃子第一天吃了一半又多吃了一個,第二天又吃了餘下的

一半又多吃了一個,到第十天的時候發現還有一個.

程式原始碼:

10個經典C語言演算法—零基礎小白必學

10個經典C語言演算法—零基礎小白必學

(6) 實現將輸入的字串反序輸出。

10個經典C語言演算法—零基礎小白必學

執行結果:

10個經典C語言演算法—零基礎小白必學

(7) 將一個正整數分解質因數。例如:輸入90,列印出90=2*3*3*5

程式分析:對n進行分解質因數,應先找到一個最小的質數k,然後按下述步驟完

成:

1、如果這個質數恰等於n,則說明分解質因數的過程已經結束,列印出即可。

2、如果n<>k,但n能被k整除,則應列印出k的值,並用n除以k的商,作為新的正

整數你n,重複執行第一步。

3、如果n不能被k整除,則用k+1作為k的值,重複執行第一步。

程式原始碼:

10個經典C語言演算法—零基礎小白必學

(8) 將一個4×4的陣列進行逆時針旋轉90度後輸出,要求原始陣列的資料隨機輸入,新陣列以4行4列的方式輸出

10個經典C語言演算法—零基礎小白必學

執行結果:

10個經典C語言演算法—零基礎小白必學

(9) 輸入兩個正整數m和n,求其最大公約數和最小公倍數

程式原始碼:

10個經典C語言演算法—零基礎小白必學

(10) 輸入一行字元,分別統計出其中英文字母、空格、數字和其它字元的個數

程式分析:利用while語句,條件為輸入的字元不為’ ’.

10個經典C語言演算法—零基礎小白必學

相關文章