如何使用算法編寫C語言程序?

Tags: 語言, 程序, 算法,

C語言中,一個程序主要包括兩方面的信息:數據結構和算法。數據結構是對數據的描述,在程序中要指定用到哪些數據以及這些數據的類型和數據的組織形式。算法是對操作的描述,即要求計算機進行操作的步驟。

程序=數據結構+算法

算法是解決“做什麼”和“怎麼做”的問題。做任何事情都要一定的步驟算法。這裡主要介紹幾種算法。

如何使用算法編寫C語言程序

工具/原料

計算機一臺

Visual C++ 6.0 編程軟件

方法/步驟

Fibonacci數列算法:

Fibonacci數列有如下特點:第1,2兩個數的值為1,從第3個數開始,該數是其前面兩個數之和。即:

F1=1 (n=1)

F2=1 (n=2)

F3=F(n-1)+F(n-2) (n>=3)

這是一個有趣的數學問題:有一對兔子,從出生後第三個月起每個月都生一對兔子。小兔子長到第三個月後每個月又生一對兔子。假設所有兔子都不死,問每個月兔子總數是多少?

思想:在開始是,f1表示第一個月的兔子數,f2表示第二個月的兔子數,f3表示第三個月的兔子數。f3=f1+f2.然後求第四個月的兔子數時,需要第二個月和第三個月的兔子數。我們把f1作為本月前兩個月的兔子數,f2作為本月前一個月的兔子數,f3即本月的兔子數。在求第四個月的兔子數時,把f2賦給f1,f3賦給f2,則第四個月的兔子數為f3=f2+f1。

如何使用算法編寫C語言程序

如何使用算法編寫C語言程序

如何使用算法編寫C語言程序

數的排列之冒泡法也叫起泡法:

排序的方法有兩種:一種是“升序”,從小到大,一種是“降序”,從大到小。

起泡法排序的基本思想:每次將相鄰的兩個數比較。將小的調到前頭。若有6個數:9,8,5,4,2,0。第一次將最前面的8和9對調。第二次將第二和第三個數對調。。。。。。如此共進行5次,得到8-5-4-2-0-9的順序,可以看到最大的9已“沉底”。而小的數上升,最小的數0已向上浮起一個位置。經過第一趟交換得到最大的數9.然後進行第二趟比較,最大的數沉底。

如此規律下去,可以推知:如果有n個數,則要進行n-1趟比較。在第一趟要進行n-1次兩兩比較,在第j次要進行n-j次比較。

如何使用算法編寫C語言程序

如何使用算法編寫C語言程序

如何使用算法編寫C語言程序

打擂臺算法:

打擂臺算法的思路:打擂臺算法怎麼確定最後的優勝者。先找任一人上臺,第二個人上去與之比武,勝者留在臺上,再上去第三個人與剛才得勝的人比武,勝者留,敗者下。以後每一個上臺的人都與勝者比武,直到所有人都上臺比過為止。最後留在臺上的就是冠軍。

問題:有一個3*4矩陣,要求出其中元素最大值,以及其所在最大值的行號和列號。

解決:先讓a[0][0]做擂主,賦值給max,max用來存放當前已知最大的數。然後下個元素與其比較,大值賦給max。

如何使用算法編寫C語言程序

如何使用算法編寫C語言程序

如何使用算法編寫C語言程序

注意事項

C語言編程,算法是核心,算法即步驟,邏輯思維很重要,掌握常用算法思維

相關問題答案