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