写c程序找到两个数字的平均值而不使用除法

时间:2015-11-10 05:54:19

标签: c

我只是想知道如何在不使用除法的情况下找到两个数字的mean

不要使用这些条件:

  • int mean =(a + b)>> 1;

  • 四个基本算术运算

3 个答案:

答案 0 :(得分:6)

我认为这可能会有所帮助 - >

int a,b,i,j;
if (a>b)
{
    int temp = a;
    a = b;
    b = temp;
}
for(i=a,j=b;i<j;i++,j--)
    continue;
if(i==j)printf("%d\n", i);
else printf("%lf\n", (double)(i)-0.5);

答案 1 :(得分:5)

添加它们然后乘以0.5,不涉及任何分割。

答案 2 :(得分:3)

如果它们都是整数,你可以使用右移:

int median = (a + b) >> 1;