首页 > 其他 > 详细

a.b交换与比较

时间:2015-04-19 17:28:14      阅读:230      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!