由于当两个数较大时,(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;
}
运行结果: