面试题:
不使用判断语句,找出两个数中的最大的。
解一:
int main()
{
int a = 100000;
int b = 98;
int max = ((a + b) + abs(a - b)) / 2;
cout <<"最大数:"<< max << endl;
system("pause");
return 0;
}
解二:
bool Max(int& a,int& b)
{
return a >= b;
}
int main()
{
int a = 100001;
int b = -2;
//1.a大于等于b时返回1 2.a小于b时返回0
bool flag = Max(a, b);
cout << (flag*a) + (1 - flag)*b << endl;
system("pause");
return 0;
}