c語言演算法,程式設計 C語言與演算法

時間 2023-08-21 17:17:42

1樓:網友

這個是函式遞迴呼叫的問題。

輸入的是n=5,在程式裡就會分別呼叫fun(5),fun(4),fun(3),fun(2),fun(1),當n=0時不滿足“n!=0”的條件,停止遞迴呼叫。

把得到的結果依次往回推,先從fun(1)開始,i=1滿足i<=n,執行一次for迴圈,輸出結果1之後換行;

在執行fun(2),執行2次for迴圈,輸出兩個2後再換行;

以此類推。所以最後的結果是。

關於2/5,這是求商後取整,結果是表示2和5相除求餘,結果是2。有不懂得可以問我。謝謝!

2樓:青山鬱

這不很簡單一道題。

就是依次輸出..直到n個數字n,並且每種數字之間都要換行。

c語言中,2/5就是做除法然後向下取整,結果是0。

另外 2%5表示求餘數,結果是2.

程式設計——c語言與演算法

3樓:新科技

#請,你的年度知識點#

c語言是國際上廣泛使用的一種計算機語言,它適合作為系統描述語言,既可以用來編寫系統軟體,又可以用來編寫應用軟體。c語言從發布之日起就得到了廣泛傳播,為大多數程式設計師所接受,c語言使用率也一直在程式語言排行榜中穩居前三位,因此學習c語言前景也是非常可觀的。

一個程式通常包含演算法、資料結構、程式設計方法及語言工具和環境4個方面,其中,演算法是核心,演算法就是解決“做什麼”和“如何做”的問題。演算法與程式設計以及資料結構密切相關,是解決一個問題的完整的步驟描述,是解決問題的策略、規則、方法,是求解特定問題的一組有限的操作序列。比如建造一棟樓之前,要先在圖紙上繪出其構造圖,演算法就是在編寫程式前先整理出基本思路。

演算法的描述形式有很多種,如傳統流程圖、結構化流程圖及計算機程式語言等。

一個程式應該包括對資料的描述和對資料的操作。其中,對資料的描述是指在程式中要指定資料結構,即資料的型別和資料的組織形式;對資料的操作也就是對資料進行操作的步驟,即演算法。 著名的電腦科學家沃思(nikiklaus wirth)曾經提出過一個公式:

演算法+資料結構=程式 隨著時代的發展以及計算機技術的進步,這個公式已經不夠準確了。

實際上,一個程式還應該包括採用一種程式設計方法進行程式設計並用計算機語言描述,經常採用的是結構化的程式設計方法。

演算法一般可以分為兩大類,一類是解決科學與工程計算方面的演算法,如求解數值積分、微分方程、線性方程組和代數方程等,這類演算法稱為數值運算演算法;另一類是解決資料處理方面問題的演算法,稱為非數值運算演算法,如各種各樣的查詢演算法、排序演算法以及遍歷演算法等。目前,計算機在非數值運算方面的應用遠遠超過了在數值運算方面的應用。

c語言中的演算法是指什麼?

4樓:匿名使用者

演算法(algorithm)是指完成一個任務所需要的具體步驟和方法。也就是說給定初始狀態或輸入資料,能夠得出所要求或期望的終止狀態或輸出資料。

演算法常常含有重複的步驟和一些比較或邏輯判斷。不同的演算法可能用不同的時間、空間或效率來完成同樣的任務。一個演算法的優劣可以用空間複雜度與時間複雜度來衡量。

筆者學過資料結構就會對演算法更加了解。

5樓:億戀

演算法是c語言的靈魂 就像電腦必須有軟體來支援。

6樓:網友

演算法和語言是兩種東西的,通俗講演算法是你對於一個問題的處理的方法,而語言是工具和手段。

一般來說,對於不同的語言可以使用同樣的演算法,語言只是一種實現的格式。

c語言中演算法有哪些特性?(

7樓:靈七

1)首先一個演算法必須是可行的,就是能解決所描述的問題,即“可行性”

2)在可行的基礎上,必須在合理的,可以接受的時間範圍內解決問題,即“有窮性”

3)從廣泛的意義上講,演算法就是一個函式,函式就要求在任何條件下一個確定的輸入對應一個唯一確定的輸出,這就要求演算法只有唯一的一條執行路徑,不會產生二義性,即“確定性”

4)對於函式,演算法必須有輸入和輸出,這裡的輸入不一定非要從鍵盤或者檔案之類的給出,可以由程式直接給出,而輸出也必須是同輸入有特定的聯絡,且唯一對應,即“輸入”和“輸出”

8樓:匿名使用者

1 有窮性,2確切性,3輸入,4輸出,5可行性(計算機書上翻到的,其他的我不知道對錯)

9樓:匿名使用者

1。確定性。

2。有窮性。

3。可維護性。

4。高效性。

5。可讀性。

10樓:龍等千年

可行性,有窮行 ,確定行 ,擁有足夠的情報。

c語言常用演算法有哪些

11樓:

0) 窮舉法。

窮舉法簡單粗暴,沒有什麼問題是搞不定的,只要你肯花時間。同時對於小資料量,窮舉法就是最優秀的演算法。就像太祖長拳,簡單,人人都能會,能解決問題,但是與真正的高手過招,就頹了。

1) 貪婪演算法。

貪婪演算法可以獲取到問題的區域性最優解,不一定能獲取到全域性最優解,同時獲取最優解的好壞要看貪婪策略的選擇。特點就是簡單,能獲取到區域性最優解。就像打狗棍法,同一套棍法,洪七公和魯有腳的水平就差太多了,因此同樣是貪婪演算法,不同的貪婪策略會導致得到差異非常大的結果。

2) 動態規劃演算法。

當最優化問題具有重複子問題和最優子結構的時候,就是動態規劃出場的時候了。動態規劃演算法的核心就是提供了一個memory來快取重複子問題的結果,避免了遞迴的過程中的大量的重複計算。動態規劃演算法的難點在於怎麼將問題轉化為能夠利用動態規劃演算法來解決。

當重複子問題的數目比較小時,動態規劃的效果也會很差。如果問題存在大量的重複子問題的話,那麼動態規劃對於效率的提高是非常恐怖的。就像斗轉星移武功,對手強它也會比較強,對手若,他也會比較弱。

3)分治演算法。

分治演算法的邏輯更簡單了,就是一個詞,分而治之。分治演算法就是把一個大的問題分為若干個子問題,然後在子問題繼續向下分,一直到base cases,通過base cases的解決,一步步向上,最終解決最初的大問題。分治演算法是遞迴的典型應用。

4) 回溯演算法。

回溯演算法是深度優先策略的典型應用,回溯演算法就是沿著一條路向下走,如果此路不同了,則回溯到上一個。

分岔路,在選一條路走,一直這樣遞迴下去,直到遍歷萬所有的路徑。八皇后問題是回溯演算法的一個經典問題,還有一個經典的應用場景就是迷宮問題。

5) 分支限界演算法。

回溯演算法是深度優先,那麼分支限界法就是廣度優先的一個經典的例子。回溯法一般來說是遍歷整個解空間,獲取問題的所有解,而分支限界法則是獲取一個解(一般來說要獲取最優解)。

c語言運算

12樓:紫禮辜婉

設x=6;執行語句y=(x=5)?(x-2):(x+2);

確認一下你的題是不是這樣?

如果是這樣,請看解題過程:

首先執行(x=5)?(這句的意思是在問x是不是等於5)如果上面是對的,則執行?和:之間的(x-2);

如果是錯的,則執行:後面的(x+2)。

顯然此題x不等於5,執行(x+2),結果y=6+2=8

c語言中 什麼是演算法 演算法的表示有哪幾種方式

13樓:高雁蘭枝惠

演算法(algorithm)是一系列解決問題的清晰指令。

演算法也可以理解為有基本運算及規定的運算順序所構成的完整的解題步驟。或者看成按照要求設計好的有限的確切的計算序列,並且這樣的步驟和序列可以解決一類問題。

一個演算法應該具有以下五個重要的特徵:

有窮性,確切性,輸入,輸出,可行性。

演算法可以使用自然語言、偽**、流程圖,或者程式語言(比如c,c++)等多種不同的方法來描述。

矩陣演算法,用C語言,一個矩陣演算法,用C 語言

這是螺旋矩陣,方法 getspiralmatrix 引數row 矩陣的大小 任意正整數 樓主的問題,分別輸入 1,3,5即可列印出來。下面的思路就是先定位到矩陣 然後順時針方向旋 static void main string args console.writeline console.read ...

C語言演算法的問題

演算法一 用的是等差數列的求和公式,現在簡單推導一下 s 1 2 3 ns n n 1 n 2 1相加得 2 s n 1 n 1 n 1 n 1 得 s n 1 n 2 演算法二和演算法三 都差不多,c語言實現如下 void sum int n 2和3不是一樣的麼。感覺是在忽悠。演算法三 第1步 將...

簡單拓撲排序演算法C語言,簡單拓撲排序演算法C語言

麗舞傾心 include include define ture 1 define false 0 圖相關 typedef int arccell 對於無權圖,用1或0表示是否相鄰 對帶權圖,則為權值型別 typedef int booleantype 狀態變數 typedef struct mgr...