c語言 運用遞迴演算法求出陣列中的最大值

2022-06-24 08:54:09 字數 568 閱讀 6042

思考題:

如何用遞迴求出陣列中的最大項

解:

我們很簡單的把乙個擁有n個數字的int型別的陣列看成兩個部分,

前n-1項和第n項

在進行比較大小的時候,就直接拿前n-1項和第n項進行比較:

如果第n項比較大,就return出第n項

如果前n-1項比第n項要大,就用遞迴的方法return出前n-1項的最大值

當然這一切都建立在傳入當前函式的數字大於1的情況下,當傳入的數字為1是,這個數字就為最大值

上面的那一句話就作為遞迴的出口使用

int maxnumber(int number,int

n)

else

return number[0];}

intmain();

int number=maxnumber(a, 8

); printf(

"%d\t

",number);

}

c語言 陣列的運用

案例5.6 n 0 計數器 for j 1 j 5 j for j 1 j 5 j 行 printf n 習題16 i 4 i 2i 1 1 3 1 2 2 3 3 1 5 4 0 7 i 4 i 2i 1 3 1 5 2 2 3 1 3 1 for for i 1 i 5 i 行 for i 3 ...

C語言 遞迴演算法思想

繼上篇博文裡介紹的c語言常見基礎演算法,本篇在於演算法的思路的整理和常見的演算法程式設計實現。定義 遞迴具體用法其實就是讓你把乙個問題分解成很多個類似的情況,雖然你要解決這個問題非常難,莫名其妙,要你想幾年,但是把他一直遞迴分解,就變成很好理解的單種情況,而你整個問題又是跟這個單種情況類似,把整個問...

例題 求出陣列中的最值

1 獲取陣列中的最大值 思想 現有乙個長度為5的陣列array,假定array中的第一號元素就是整個陣列中最大的元素,設計乙個迴圈,輸出後續的陣列元素,如果第二號元素大於第一號元素,那麼就用第二號元素將第一號元素替換掉,現在第二號元素就是最大的那個,然後繼續,第三號元素與第二號元素相比較,如果比得的...