有两个变量a,b,不用if ?: switch或其他判断语句找出两个中比较大的
int max = ((a + b) + abs(a-b)) / 2
给三个整数a,b,c函数实现取三个数的中间数,不可以使用sort,整数操作尽可能少
1 inline int max(int a, int b) ( return a > b ? a : b); 2 inline int min(int a,int b)(return a < b ? a : b); 3 inline int medium(int a, int b,int c) 4 { 5 int t1 = max(a,b); 6 int t2 = max(b,c); 7 int t3 = max(a,c); 8 return min(t1,min(t2, t3)); 9 }
两个数平均值
int average(int x, int y){ return (x & y) + ( (x ^ y) >> 1); }
时间: 2024-10-11 06:46:40