while(i<=4){ if(i%3 ==0) continue; sum +=i; i++; }
答案:2 悬赏:10 手机版
解决时间 2021-04-06 05:32
- 提问者网友:我是女神我骄傲
- 2021-04-05 13:46
while(i<=4){ if(i%3 ==0) continue; sum +=i; i++; }
最佳答案
- 五星知识达人网友:神也偏爱
- 2021-04-05 15:11
while语句相当于你的for(int i=0; i<=4; i++)
因此,如果有了你上面的for(int i=0; i<4; i++)的处理,那么需要在for(){}之后再写上sum += 4;追问如何让while 循环的结果和for循环的结果一样呢?你那样改就改变了原来的意思了追答要让改while代码的话,把条件改成 i < 4
要是不让改的话,在while(){}的后面写上 sum -= 4;追问可能是我抄错了,本来我写的是i<4可是 就算 是这样结果还是不一样,你编个程序试一下追答肯定不一样,因为while ( i<=4){ if(i%3==0) continue; ...} 将在i是3的倍数时死循环。而for语句则在contunue后面仍然执行i++。我是假设你修改了死循环 while(i<=4){if(i%3==0) { i++; continue;} ...}的前提下回答的
因此,如果有了你上面的for(int i=0; i<4; i++)的处理,那么需要在for(){}之后再写上sum += 4;追问如何让while 循环的结果和for循环的结果一样呢?你那样改就改变了原来的意思了追答要让改while代码的话,把条件改成 i < 4
要是不让改的话,在while(){}的后面写上 sum -= 4;追问可能是我抄错了,本来我写的是i<4可是 就算 是这样结果还是不一样,你编个程序试一下追答肯定不一样,因为while ( i<=4){ if(i%3==0) continue; ...} 将在i是3的倍数时死循环。而for语句则在contunue后面仍然执行i++。我是假设你修改了死循环 while(i<=4){if(i%3==0) { i++; continue;} ...}的前提下回答的
全部回答
- 1楼网友:撞了怀
- 2021-04-05 16:03
因为你那个while语句continue会跳过i++,而for语句会执行i++,所以只需将while语句中循环判断条件改为while(i++<4),然后把循环体中的i++去掉即可,另外while语句之前你还得给i赋初值0吧追问为什么for循环的答案是3而while循环 的答案是是7啊???我按你说的修改了追答嗯,我想了下应该是,我现在没有编译器,你得自己试一下,我觉得这样改就可以了,你试一下:
把while语句改成while(i<4){if(i++%3 ==0) continue;sum +=i;}
把while语句改成while(i<4){if(i++%3 ==0) continue;sum +=i;}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯