这个循环代码中有什么错误

时间:2011-12-04 00:16:12

标签: c# loops curve do-while

问题在于:

常数:'a','b','c','d';

我有很多变量,但只有这些变量相互关联:'x','y','z';

首次迭代1有:

x1 = [value from other variables];
y1 = x1 + a;
z1 = y1 + x1 + b;
condition |c - z1| < d;

如果确实如此,那么程序会计算其他元素(从这一点开始我就知道了这个工作),但是如果条件是假的,我们会这样:

x2 = x1 + e;
y2 = x2 + a;
z2 = y2 + x2 + b;
condition |c - z2| < d; 

再次,如果错误:

x3 = x2 + e;
y3 = x3 + a;
z3 = y3 + x3 + b;
condition |c - z3| < d; 

等等,直到满足条件。

我想要解决的是从最后一次迭代中提取的循环(i)在以后的开发中使用的'xi'和'yi'的值。除非条件得到满足,否则我无法提取它们。

谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用while loop

var x = // value from other variables
var y = x + a;
var z = y + x + b;

while (Math.Abs(c - z) < d)
{
    x = x + e;
    y = x + a;
    z = y + x + b;
}