这个while循环的思路是怎么样的

http://img.mukewang.com/55af327a0001690514480644.jpg

习惯看评论看到这个while循环有点特别,复制了试试结果是-50,可是一步步看觉得是错的,比如第一步循环i++的话,sum=2,第二步就变成了2-3=-1,第一步循环应该是1,可是第二步是对的,把i<=100改成2 3 也验证了循环条件i<=奇数n的时候是错的,偶数n的时候是对的,不知道这个是不是错的,如果是错的有什么改对的方法吗,而且也没懂这个if else的思路是怎么样的,有点混乱

ghfgx
浏览 1343回答 1
1回答

深白

i是奇数时,sum+=i;i是偶数时,sum-=i;奇偶的加减对应通过flag设置图片里的程序初始化设置得有问题,应该直接把if-else里的i++放到代码块最后面int sum=0; int i=1; int flag=1; while(i<=100){     if(flag==1){         sum+=i;         flag=0;     }else{         sum-=i;         flag=1;     }     i++; }
打开App,查看更多内容
随时随地看视频慕课网APP