一維陣列找最大值

在C語言中,可以使用迴圈來遍歷一維陣列並找到最大值。以下是一個簡單的例子:

#include <stdio.h>

int main() {
    int array[10] = {1, 3, 5, 7, 9, 11, 13, 15, 17, 19};
    int max = array[0]; // 初始化最大值為陣列第一個元素

    for (int i = 1; i < 10; i++) { // 遍歷陣列除第一個元素外的所有元素
        if (array[i] > max) {
            max = array[i]; // 如果當前元素大於最大值,更新最大值
        }
    }

    printf("The maximum value in the array is %d\n", max);

    return 0;
}

在上面的代碼中,我們首先定義了一個包含10個元素的整數陣列array,並初始化了一個變數max來存儲陣列中的最大值。接著,我們使用一個for迴圈來遍歷陣列中的所有元素,從索引1開始(因為我們已經初始化了第一個元素的值),直到陣列的末尾。在迴圈體中,我們比較每個元素和max變數的值,如果當前元素大於max,則更新max的值。

最後,我們使用printf函數輸出陣列中的最大值。

請注意,如果你的陣列可能包含負數,那麼你需要在迴圈中從頭到尾遍歷整個陣列,而不是從索引1開始,因為最大值可能出現在陣列的任何位置。

如果你想要一個更高效的方法來找到最大值,你可以使用排序算法(如選擇排序)來找到最大值,因為排序算法會將最大值放在陣列的末尾,這樣你就可以直接訪問它。不過,這種方法通常只在陣列很大或者你想要一個線性時間算法的時候使用。