您的位置:首页 > 其它

关于写数3缺1程序过程中出现的问题总结

2017-04-05 00:00 357 查看
首先:思路:当100个人最后只有只剩下一个人的时候循环才会停止,所以要利用while条件循环,只有当剩下人数>1才要循环,因此这里要定义一个剩下的人数这个变量,因为每次数到3的时候,人数都算减少一个,这个时候因为不能实际的把他剔除,又想让下次重新数数的时候不计算到他,可以定义一个变量,这个变量初始值为100个人数组长度,当数到3的时候赋值这个位置的变量为-1或者false.只有当为true时才数数,这里就要定义另外一个变量当数数,count(每次1,2,3的数)当count ==3,就改变那个数字的布尔量,

还有就是在前面要定义一个条件语句,只有当判断为true时才数数,所以上面的count++要附加这个条件,这样重新循环的时候才不会把之前数到3的算进去,当count= 3时候,剩余的人数(leftNum)作为while循环的判断条件每次减1,每次数数,那个每个数组的索引都必须加1,当数组的索引加到和数组长度(数组长度不变化,不是剩余的人数),重新赋值开始数数的位置index = 0;一直到只有一个为true时,即是剩余人数为1停止循环。。。。。

总结:1.首先自己把剩余人数和原来整个数组的长度混为一个概念,以至于导致,索引要等于剩余的人数就重新赋值,实际上原来的人数一直都没变化,人数也没办法改变,只是改变了固定位置人的布尔变量,当那个位置人为false的时候实际上就是上次数到3的位置的数,下次就不会数1,2,3的时候再算它一次了。但是每次索引(index)必须往上加。

2.没理解透彻只有那个值为true的时候才算数数,要不,1,2,3这个数数循环次数就不累加

3.=和==号没区别清楚,最后输出的时候,=号是赋值,

==号是一种逻辑判断,只有在满足这个条件才输出。

总结:首先应该读懂题目每个字,按照字面上的思路走,懂得每个变量定义的具体意义,和赋值的时候放在左边和右边的差别,=号是把右边的值赋值给左边
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐