在C ++中不使用条件或按位运算符的情况下最多四个数字

在本教程中,我们将讨论一个不使用条件运算符或按位运算符查找最多四个数字的程序。

为此,我们将提供四个数字。我们的任务是在不使用条件或按位运算符的情况下找到这四个值中的最大值。

示例

#include <bits/stdc++.h>
using namespace std;
//查找四个给定值的最大值
int maxOfFour(int w, int x, int y, int z) {
   int a[2];
   a[0] = w, a[1] = x;
   bool b = (a[0] - a[1] + abs(a[0] - a[1]));
   swap(a[0], a[!b]);
   a[1] = y;
   b = (a[0] - a[1] + abs(a[0] - a[1]));
   swap(a[0], a[!b]);
   a[1] = z;
   b = (a[0] - a[1] + abs(a[0] - a[1]));
   swap(a[0], a[!b]);
   return a[0];
}
int main() {
   int w = 12, x = 15, y = 18, z = 17;
   cout << "Maximum of four : " << maxOfFour(w, x, y, z);
   return 0;
}

输出结果

Maximum of four : 18