比如三个整数是 10 12 11,输出11
还是按照从结果出发思考问题
我们用middle变量来存放中位数
那么肯定有int middle
用户输入三个数分别是a b c
最后的结果无非是a是中位数 或者b是中位数 或者c是中位数
如果a是中位数则,middle=a
那么a是中位数满足什么条件呢?
想不出来没关系,我们可以举个例子
a是总位数,要么是这种情况
8 7 9 要么是 8 9 7,则一定满足(8-7)(8-9)小于0
也就是(a-b)*(a-c)<0
其它情况也是同样的道理,这种思考问题的方法真的挺不错的。
int main(void)
{
int middle;
int a, b, c;
scanf_s("%d %d %d",&a,&b,&c);
if ((a-b)*(a-c)<0)
{
middle = a;
}
if ((b-a)*(b-c)<0)
{
middle = b;
}
if ((c-a)*(c-b)<0)
{
middle = c;
}
printf("%d",middle);
}