C言語の中央値を求めるアルゴリズムについて
Posted: 2014年3月08日(土) 13:49
C言語のアルゴリズムの参考書を読んで今勉強してるんですが。
中央値を求めるアルゴリズムについて頭を悩ませています。
三個の数字を比較して中央値を求めるif文なんですが
この大量のifのネストがいまいち分かりません。参考書にも解説は載っていないし、ググっても出てこないし
途方に困っています。私自身内容自体はなんとなくわかるんですがどうしてこういう式になったのかが解説がないのです。是非ご教授いただけたらありがたいです。
中央値を求めるアルゴリズムについて頭を悩ませています。
三個の数字を比較して中央値を求めるif文なんですが
#include <stdio.h>
int med3(int a, int b, int c)
{
if (a >= b)
if (b >= c)
return b;
else if (a <= c)
return a;
else
return c;
else if (a > c)
return a;
else if (b > c)
return c;
else
return b;
}
int main(void)
{
int a, b, c;
printf("三つの整数の中央値を求めます /n");
printf("aの値:"); scanf("%d", &a);
printf("bの値:"); scanf("%d", &b);
printf("cの値:"); scanf("%d", &c);
printf("中央値は%dです。 /n", med3(a, b, c));
return 0;
}
途方に困っています。私自身内容自体はなんとなくわかるんですがどうしてこういう式になったのかが解説がないのです。是非ご教授いただけたらありがたいです。