C语言,避免溢出,求两数平均值

2015-11-19 23:07:18 · 作者: · 浏览: 12
问题描述:不使用(a+b)/2这种方式,求两个数的平均值。
代码实现:
?
#include 
int main()
{
 double a=0.0,b=0.0;
 double c=0.0;
 double sum=0.0;
 scanf("%lf %lf",&a,&b);
 c=(a-b)/2.0;
 if (c<=0)
 {
  sum=b+c;
 }
 else
 {
  sum=c+b;
 }
 printf("%lf\n",sum);
 return 0;
}

?

输入:1 2
结果为:1.500000