为了账号安全,请及时绑定邮箱和手机立即绑定

为什么num+=2;和sum+=num:换了一下位置最后的结果便成700了呢?

为什么num+=2;和sum+=num:换了一下位置最后的结果便成700了呢?

慕标0539584 2016-02-10 15:02:59
查看完整描述

6 回答

?
古__月

TA贡献44条经验 获得超22个赞

因为你一开始就是num=num+2;   也就是说这个时候你的sum还有一个2没有加上去的,但是由于你的while中的num<=50,

所以最后会加上一个52,两个一抵消,就多出了个50了.

正确的方法是:  1.定义的时候为   int num=0;

                       2.do...while()的条件改为num<50;

使用do...while()的时候很容易混淆,建议还是直接使用while循环吧

查看完整回答
2 反对 回复 2016-02-10
?
七九九

TA贡献8条经验 获得超6个赞

因为第一次循环的时候,num的初始值为4;而使用do...while循环,结束循环的时候,num的最终值为52.  4~52一共有25个偶数,那么总和sum=(4+52)*25/2=700.

查看完整回答
反对 回复 2016-02-14
?
bingqi

TA贡献1条经验 获得超0个赞

换了一下位置?这个不就是累加求和吗

查看完整回答
反对 回复 2016-02-12
?
野老盟客

TA贡献4条经验 获得超17个赞

do while 是循环 也就是每一次都相加,循环了五十次,你自己用笔一次一次把流程从上往下写下去就知道了

查看完整回答
反对 回复 2016-02-12
?
狸狸酱

TA贡献1条经验 获得超0个赞

顺序为num+=2; sum+= num;时,sum结果是0+4+6+ ... +52 = 700;

顺序为sum+=num; num+=2时,sum结果是0+2+4+...+50 = 650;

查看完整回答
反对 回复 2016-02-11
  • 6 回答
  • 0 关注
  • 2188 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信