网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

求平均数的四种方法

用c语言求平均数有四种方法,各有利弊。
1.第一种是最常规的做法

在武冈等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、成都网站制作 网站设计制作按需制作,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,外贸网站建设,武冈网站建设费用合理。

> int main()
{
    int a = 10;
    int b = 5;
    c = (a + b) / 2;
    system("pause");
    return 0;
}

这种方法有缺陷,如果a和b足够大,以致于两数之和超出了intmax(整型所能代表的最
大值),所以不建议使用这种方法。
2.最常用的方法

> int main()
{
    int a = 10;
    int b = 5;
    c = a+(b-a)/2;
    system("pause");
    return 0;
}

这种优于第一种方法,这个算法c的值永远不会超过intmax,所以一般这种算法比较常见
3.用位操作表示

> int main()
{
    int a = 10;
    int b = 5;
    c = (a&b) + (a^b)/2;
    system("pause");
    return 0;
}

a&b得到的是a和b的二进制里对应位相同的那一位,且为1,a^b得到的是a和b的二进制
里对应位不同的那一位留下来,且为1,相同位全部变成0。另外,a与b的和可以理解为
a与b的每个二进制位的权重之和,可以拆分成a和b相同二进制位的和加上不同二进制位
的和。所以a&b即为相同的二进制的对应位的和除以2,a^b即为不同的二进制的对应位
的和。这种算法的缺陷是a和b只能是整数。
4.也用位操作符表示

> int main()
{
    int a = 10;
    int b = 5;
    c = (a&b) + ((a^b) >> 1);
    system("pause");
    return 0;
}

向右移有除以二的效果

第三种与第四种方法都较难理解透彻, 所以轻易不要尝试,但如果非要用的话,优先
用右移的方法,效率较高。


名称栏目:求平均数的四种方法
网站网址:http://bjjierui.cn/article/jisdis.html

其他资讯