6 回答

TA貢獻(xiàn)44條經(jīng)驗(yàn) 獲得超22個(gè)贊
因?yàn)槟阋婚_(kāi)始就是num=num+2; ? 也就是說(shuō)這個(gè)時(shí)候你的sum還有一個(gè)2沒(méi)有加上去的,但是由于你的while中的num<=50,
所以最后會(huì)加上一個(gè)52,兩個(gè)一抵消,就多出了個(gè)50了.
正確的方法是: ?1.定義的時(shí)候?yàn)?? int num=0;
? ? ? ? ? ? ? ? ? ? ? ?2.do...while()的條件改為num<50;
使用do...while()的時(shí)候很容易混淆,建議還是直接使用while循環(huán)吧

TA貢獻(xiàn)8條經(jīng)驗(yàn) 獲得超6個(gè)贊
因?yàn)榈谝淮窝h(huán)的時(shí)候,num的初始值為4;而使用do...while循環(huán),結(jié)束循環(huán)的時(shí)候,num的最終值為52.? 4~52一共有25個(gè)偶數(shù),那么總和sum=(4+52)*25/2=700.

TA貢獻(xiàn)4條經(jīng)驗(yàn) 獲得超17個(gè)贊
do while 是循環(huán) 也就是每一次都相加,循環(huán)了五十次,你自己用筆一次一次把流程從上往下寫(xiě)下去就知道了

TA貢獻(xiàn)1條經(jīng)驗(yàn) 獲得超0個(gè)贊
順序?yàn)閚um+=2; sum+= num;時(shí),sum結(jié)果是0+4+6+ ... +52 = 700;
順序?yàn)閟um+=num; num+=2時(shí),sum結(jié)果是0+2+4+...+50 = 650;
添加回答
舉報(bào)