码迷,mamicode.com
首页 > 其他好文 > 详细

a.b交换与比较

时间:2015-04-19 17:29:40      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

有两个变量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);

}

 

a.b交换与比较

标签:

原文地址:http://www.cnblogs.com/c-python/p/4439367.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!