配列アルゴリズム
CoddyのCジャーニー「基礎」セクションの一部。レッスン 59/63。
配列アルゴリズムは、配列データを操作するために不可欠な手法です。よく使われる配列操作を学びましょう。
配列内の最大値を見つける:
// 配列を初期化する
int numbers[] = {4, 9, 2, 7, 5};
// maxの初期値を最初の要素に設定する
int max = numbers[0];// 他の要素と比較する
for (int i = 1; i < 5; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
// これでmaxには最大値 (9) が入っている最小値を見つける方法も同様です。
// min の初期値を最初の要素に設定する
int min = numbers[0];
// 他の要素と比較する
for (int i = 1; i < 5; i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
// これで min には最小値 (2) が入っている配列内のすべての要素を合計する:
int sum = 0;
// 各要素をsumに加算する
for (int i = 0; i < 5; i++) {
sum += numbers[i];
}
// これでsumには合計値 (27) が入っているチャレンジ
簡単整数配列のすべての要素の平均を計算する、findAverageという関数を書きましょう。
この関数は次の処理を行います。
- 整数配列とそのサイズを引数として受け取る
- すべての要素の合計を計算する
- 平均を求めるため、合計を要素数で割る
- 平均をfloat型として返す
平均を計算した後、printf("Average: %.2f\n", average);を使って、結果を小数点以下ちょうど2桁で表示します。
自分で試してみよう
#include <stdio.h>
// ここにfindAverage関数を記述してください
int main() {
int size;
scanf("%d", &size);
int numbers[size];
// 配列の要素を読み込む
for (int i = 0; i < size; i++) {
scanf("%d", &numbers[i]);
}
// 関数を呼び出して結果を表示する
float average = findAverage(numbers, size);
printf("Average: %.2f\n", average);
return 0;
}
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ