如何在c ++中的do-while循环中有一个/或条件

时间:2012-02-26 21:11:38

标签: c++ while-loop

我正在写一个算法,我有一个do-while循环。我想要在那个循环中,直到GAP足够小或迭代次数高于1000.但它通过100次迭代并且不会停止。这是代码:

int iteration=1;
double UB=0;
double LB=0;
double GAP=1;

do
{...
    GAP=abs((UB-LB)/LB);
    iteration++;
}while(GAP>=0.05 || iteration<=1000);

3 个答案:

答案 0 :(得分:4)

您可能需要&&而不是||。您希望迭代直到这些表达式的为假,因此您希望在它们的两个都为真时进行迭代。

答案 1 :(得分:2)

你错过了一点逻辑;)

如果你希望循环结束if(conditionA或conditionB),那么就意味着你想继续循环if(conditionA AND conditionB)。

换句话说,你应该

while(GAP>=0.05 && iteration<=1000)

答案 2 :(得分:0)

您需要更改'||'到'&amp;&amp;'