我最近解决了一个问题。但是我有这样一段代码,我不使用for循环初始化和条件检查。 For循环看起来有点奇怪。我想将它转换为while循环。请帮我做。我尝试了很多次,但有些地方丢失了东西。需要将此循环转换为while循环
for(;;current =(current+1)%n){
if(eliminated[current%n]){
continue;
}else{
inkiPinki++;
if(inkiPinki == m){
eliminated[current%n] = true;
printStatus(eliminated, people);
remainingGuys--;
break;
}
}
}
在上面的代码中去掉[index]是一个布尔值。
编辑:感谢Geoff为我提供的解决方案,我进一步将此解决方案最小化。
while(eliminated[current] || ++inkiPinki != m)
current = (current+1) % n;
eliminated[current] = true;
printStatus(eliminated, people);
remainingGuys--;
为什么你需要这样的'while'?也许你只想简化这个循环? – SergGr 2010-04-28 16:26:05
@iPhone beg:是的 – bragboy 2010-04-28 16:28:02
从您的编辑,我不知道你想要什么?这段代码肯定属于循环内部? – Geoff 2010-04-28 16:29:25