この記事では、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つの数値を入力し、それらをソートして中央値を求めています。
実際にコンパイルして実行してみると、入力した数値の中央値が表示されることが確認できます。
以上が、中央値を求めるプログラムの解説です。
これを参考にして、自分でプログラムを作成してみてください。