【C言語】5つの数値から中央値を求めるプログラムを解説

この記事では、C言語を使って5つの数値から中央値を求めるプログラムの書き方を解説します。

目次から探す

中央値を求めるプログラムの書き方

中央値を求めるプログラムを作成する方法を解説します。

中央値とは、与えられた数値の中で真ん中に位置する値のことです。

例えば、5つの数値が与えられた場合、それらを昇順にソートした際に真ん中に位置する値が中央値となります。

ステップ1: 入力値の受け取り

まず、プログラムの最初のステップとして、ユーザーから5つの数値を入力する必要があります。

これには、scanf関数を使用します。

以下のようなコードを使って、ユーザーからの入力を受け取ります。

int num1, num2, num3, num4, num5;
printf("5つの数値を入力してください: ");
scanf("%d %d %d %d %d", &num1, &num2, &num3, &num4, &num5);

ステップ2: 数値のソート

次に、入力された数値を昇順にソートする必要があります。

ソートすることで、中央値を求める際に簡単に真ん中の値を取得することができます。

C言語には、配列をソートするための関数が用意されていないため、自分でソートする必要があります。

以下のようなコードを使って、数値をソートします。

int temp;
if (num1 > num2) {
    temp = num1;
    num1 = num2;
    num2 = temp;
}
// num1とnum2の大小関係を比較して、必要に応じて入れ替える
// num1とnum3の大小関係を比較して、必要に応じて入れ替える
// num1とnum4の大小関係を比較して、必要に応じて入れ替える
// num1とnum5の大小関係を比較して、必要に応じて入れ替える
// num2とnum3の大小関係を比較して、必要に応じて入れ替える
// num2とnum4の大小関係を比較して、必要に応じて入れ替える
// num2とnum5の大小関係を比較して、必要に応じて入れ替える
// num3とnum4の大小関係を比較して、必要に応じて入れ替える
// num3とnum5の大小関係を比較して、必要に応じて入れ替える
// num4とnum5の大小関係を比較して、必要に応じて入れ替える

ステップ3: 中央値の計算

最後に、ソートされた数値から中央値を計算します。

中央値は、ソートされた数値の真ん中に位置する値です。

以下のようなコードを使って、中央値を計算します。

int median;
median = num3; // num3が中央値
printf("中央値は %d です。\n", median);

以上が、中央値を求めるプログラムの書き方です。

これを参考にして、自分でプログラムを作成してみてください。

サンプルコードの解説

以下に、上記のステップを組み合わせたサンプルコードを示します。

#include <stdio.h>
int main() {
    int num1, num2, num3, num4, num5;
    int temp;
    int median;
    printf("5つの数値を入力してください: ");
    scanf("%d %d %d %d %d", &num1, &num2, &num3, &num4, &num5);
    if (num1 > num2) {
        temp = num1;
        num1 = num2;
        num2 = temp;
    }
    // 他の数値の大小関係を比較して、必要に応じて入れ替える
    median = num3; // num3が中央値
    printf("中央値は %d です。\n", median);
    return 0;
}

このサンプルコードでは、ユーザーから5つの数値を入力し、それらをソートして中央値を求めています。

実際にコンパイルして実行してみると、入力した数値の中央値が表示されることが確認できます。

以上が、中央値を求めるプログラムの解説です。

これを参考にして、自分でプログラムを作成してみてください。

目次から探す