【C言語】3つの値から中央値を求める方法を解説

この記事では、C言語を使って3つの値から中央値を求める方法を解説します。

目次から探す

3つの値から中央値を求める方法

プログラミングにおいて、与えられた3つの値から中央値を求める方法はさまざまあります。

ここでは、3つの方法を紹介します。

それぞれの方法について、具体的なコードと実行結果の例を示します。

方法1: if文を使った方法

まず最初の方法は、if文を使って中央値を求める方法です。

以下のような手順で実装することができます。

  1. 3つの値を変数に代入します。
  2. if文を使って、各値を比較します。
  3. 中央値を求めるために、条件分岐を行います。

以下に、具体的なコードの例を示します。

#include <stdio.h>
int main() {
    int a = 5;
    int b = 10;
    int c = 7;
    int median;
    if (a >= b && a <= c || a <= b && a >= c) {
        median = a;
    } else if (b >= a && b <= c || b <= a && b >= c) {
        median = b;
    } else {
        median = c;
    }
    printf("中央値: %d\n", median);
    return 0;
}

上記のコードでは、変数a、b、cにそれぞれ5、10、7を代入しています。

if文を使って各値を比較し、中央値を求めています。

実行結果は以下の通りです。

中央値: 7

方法2: 配列を使った方法

次に、配列を使って中央値を求める方法を紹介します。

以下の手順で実装することができます。

  1. 3つの値を配列に格納します。
  2. 配列をソートします。
  3. ソートされた配列の中央の要素を中央値として取得します。

以下に、具体的なコードの例を示します。

#include <stdio.h>
void sort(int arr[], int size) {
    int i, j, temp;
    for (i = 0; i < size - 1; i++) {
        for (j = 0; j < size - i - 1; j++) {
            if (arr[j] > arr[j + 1]) {
                temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}
int main() {
    int arr[] = {5, 10, 7};
    int size = sizeof(arr) / sizeof(arr[0]);
    int median;
    sort(arr, size);
    median = arr[size / 2];
    printf("中央値: %d\n", median);
    return 0;
}

上記のコードでは、配列arrに値を格納し、sort関数を使って配列をソートしています。

ソートされた配列の中央の要素を中央値として取得しています。

実行結果は以下の通りです。

中央値: 7

方法3: 三項演算子を使った方法

最後に、三項演算子を使って中央値を求める方法を紹介します。

以下の手順で実装することができます。

  1. 3つの値を変数に代入します。
  2. 三項演算子を使って、各値を比較し、中央値を求めます。

以下に、具体的なコードの例を示します。

#include <stdio.h>
int main() {
    int a = 5;
    int b = 10;
    int c = 7;
    int median;
    median = (a >= b && a <= c || a <= b && a >= c) ? a : (b >= a && b <= c || b <= a && b >= c) ? b : c;
    printf("中央値: %d\n", median);
    return 0;
}

上記のコードでは、三項演算子を使って各値を比較し、中央値を求めています。

実行結果は以下の通りです。

中央値: 7

以上が、3つの値から中央値を求める方法の解説です。

それぞれの方法を使って、与えられた値から中央値を求めることができます。

目次から探す