この記事では、C言語を使って3つの値から中央値を求める方法を解説します。
目次から探す
3つの値から中央値を求める方法
プログラミングにおいて、与えられた3つの値から中央値を求める方法はさまざまあります。
ここでは、3つの方法を紹介します。
それぞれの方法について、具体的なコードと実行結果の例を示します。
方法1: if文を使った方法
まず最初の方法は、if文
を使って中央値を求める方法です。
以下のような手順で実装することができます。
- 3つの値を変数に代入します。
if文
を使って、各値を比較します。- 中央値を求めるために、条件分岐を行います。
以下に、具体的なコードの例を示します。
#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: 配列を使った方法
次に、配列を使って中央値を求める方法を紹介します。
以下の手順で実装することができます。
- 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: 三項演算子を使った方法
最後に、三項演算子を使って中央値を求める方法を紹介します。
以下の手順で実装することができます。
- 3つの値を変数に代入します。
- 三項演算子を使って、各値を比較し、中央値を求めます。
以下に、具体的なコードの例を示します。
#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つの値から中央値を求める方法の解説です。
それぞれの方法を使って、与えられた値から中央値を求めることができます。