求两个数的平均值

由于当两个数较大时,(a+b)/2这种方式可能会溢出,因此不采用此方法求两个数的平均值。 

代码:

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

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

int main(){
	int a, b;
	printf("请输入两个数字:\n");
	scanf("%d %d", &a, &b);
	//求平均值,即将a与b不同的部分除以二,加到较小数的部分
	if (a < b){
		printf("平均值为:%d\n", a + ((b - a) >> 1));
	}
	else{
		printf("平均值为:%d\n", b + ((a - b) >> 1));
	}
	system("pause");
	return 0;
}

运行结果:

猜你喜欢

转载自blog.csdn.net/qq_42142477/article/details/83421692