C言語で配列中の最大値を求める方法は?

C言語で配列の最大値を求めるには、以下のコードを使用できます。

#include <stdio.h>

int main() {
    int arr[] = {10, 20, 30, 40, 50};
    int size = sizeof(arr) / sizeof(arr[0]);
    int max = arr[0];

    for (int i = 1; i < size; i++) {
        if (arr[i] > max) {
            max = arr[i];
        }
    }

    printf("最大值是:%d\n", max);

    return 0;
}

まず、整数配列arrを定義し、値を初期化します。次に、sizeof(arr) / sizeof(arr[0])により配列の長さを計算します。ここで、sizeof(arr)は配列全体のメモリーサイズ、sizeof(arr[0])は配列内の各要素のメモリーサイズを表します。これら2つの値を割ることで、配列の長さであるsizeを取得できます。

続いて、配列の最大値を格納するための max 変数を定義します。init 時、max の値は配列の最初の要素 arr[0] に設定されます。

その上で、残った要素について for ループで回す。配列の2番目の要素から順に max と比べて、現在の要素の値が max より大きかったら、max の値を現在の要素の値に更新する。

最後に、printf 関数を使って最大値を出力します。

このコードの出力は次のとおりです。

最大值是:50
bannerAds