C程序中“读入三个双精度数求平均值并保留此平均值小数点后一位且四舍五入”怎么办?

 我来答
好求知
2018-01-27 · TA获得超过6516个赞
知道大有可为答主
回答量:966
采纳率:80%
帮助的人:1183万
展开全部
单精度实数在内存中占32bit 有效数字为6~7位,
双精度实数占内存单元为64bit 有效数字为15~16位。
所以双精度数不是小数点后有两个小数的数。

d*=10;
d+=0.5;
d/=10;
这三条语句是对小数点后第二位小数四舍五入。
例如d=1.26;
d*=10; // 12.6
d+=0.5; //13.1
d/=10; //1.31
printf("%.1lf\n",d); // 1.3

很明显,若小数点后第二位小数大于等于5,就会往前一位进位。就是四舍五入了。其实
d+=0.05;
就能实现了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式