我必须在两个文本框中输入2个不同的数字,并用一个按钮来计算GCD,但是当我运行它时,该按钮什么也没做。
int x = Convert.ToInt16(txtNum1.Text);
int y = Convert.ToInt16(txtNum2.Text);
int num1, num2;
int residuo;
if (x < y)
{
num1 = y;
num2 = x;
}
else
{
num1 = x;
num2 = y;
}
do
{
residuo = num1 % num2;
if (residuo == 0)
{
txtMCD.Text = num2.ToString();
}
else
{
num1 = num2;
num2 = residuo;
}
} while (residuo == 0);
X和y都是写在文本框中的数字,我使用num1和num2来保存x和y的值,以便num1越高,而num2越小。有任何想法吗?
您的终止条件不正确。应该是while (residuo != 0)
。实际上,您可以在一个迭代之后终止循环,或者您处于无限循环中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句