永发信息网

C++中不是说不用四舍五入,为什么结果是五?

答案:2  悬赏:40  手机版
解决时间 2021-02-13 23:27
  • 提问者网友:城市野鹿
  • 2021-02-13 10:44
#include
int main()
{ int a=1,b=7;
do {
b=b/2;a+=b;
} while (b>1);
printf(“%d\n”,a);
return 0;
}
最佳答案
  • 五星知识达人网友:渊鱼
  • 2021-02-13 11:20
首先b = 7/2 = 3; a= a + b = 1 + 3 = 4; 此时 b = 3 > 1,
故 b = 3 / 2 = 1; a = a + b = 4 + 1 = 5; 此时 b = 1 !>1跳出循环,
故 a = 5.
全部回答
  • 1楼网友:一叶十三刺
  • 2021-02-13 11:59
cout默认输出数字时的有效位数为六位, 所以就变成这个样子了, 如果想改变cout的输出有效位,就要用setprecision(n); 如cout< 希望能帮到你。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯