Menu
CoddyTech

配列アルゴリズム

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) が入っている
challenge icon

チャレンジ

簡単

整数配列のすべての要素の平均を計算する、findAverageという関数を書きましょう。

この関数は次の処理を行います。

  1. 整数配列とそのサイズを引数として受け取る
  2. すべての要素の合計を計算する
  3. 平均を求めるため、合計を要素数で割る
  4. 平均を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;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ