如何在不使用关系运算符的情况下,判断输入的三个数的最小值
使用语音:c语言
int min(int a, int b, int c)
{
return ((a - b) >> 31) && ((a - c) >> 31) ? a : (b - c) >> 31 ? b : c;
}
int main()
{
int a, b, c;
scanf("%d%d%d",&a,&b,&c);
int m = min(a, b, c);
printf("%d\n", m);
system("pause");
return 0;
}
这简单啊,作差法,正数还可以坐商
相减,若结果为负数,则最高位肯定是1,用这个条件能求出最小值。