欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言_求两个数的平均值

程序员文章站 2024-02-03 16:50:04
...

不使用(a+b)/2这种方式,求两个数的平均值。

使用位运算符,加深对不同位运算符功能的理解。

代码如下:

#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int average1(int m,int n)
{
	return (m + n) >> 1;
}

int average2(int m, int n)
{
	return (m & n) + ((m ^ n) >> 1);
}

int average3(int m,int n)
{
	return m + ((n - m) >> 1);
}

int main()
{
	int m = 0,n = 0;
	printf("请输入两个数:");
	scanf("%d %d", &m, &n);
	printf("平均数为:%d\n", average1(m,n));
	printf("平均数为:%d\n", average2(m,n));
	printf("平均数为:%d\n", average3(m,n));
	system("pause");
	return 0;
}