当使用“while”循环在 C# 中解决“fizz-buzz”时,我发现首先我应该找到 3 和 5 的倍数(15 的倍数),然后像下面那样找到 3 和 5 的倍数。
int myval = 0;
while (myval < 100)
{
myval = myval + 1;
if (myval % 15 == 0)
{
listBox1.Items.Add("fizzbuzz");
}
else if (myval % 3 == 0)
{
listBox1.Items.Add("fizz");
}
else if (myval % 5 == 0)
{
listBox1.Items.Add("buzz");
}
else
{
listBox1.Items.Add(myval);
}
}
但是,如果我编写代码首先过滤 3 和 5 的倍数,然后像下面一样转到 3 和 5 的倍数(15 的倍数),最终结果只会显示嘶嘶声(3 的倍数)和嗡嗡声(5 的倍数) ) 没有嘶嘶声(3 和 5 的倍数)。有谁知道这是什么原因,即使 IDE 也没有显示任何错误。
myval = 0;
while (myval < 100)
{
myval = myval + 1;
if (myval % 3 == 0)
{
listBox1.Items.Add("fizz");
}
else if (myval % 5 == 0)
{
listBox1.Items.Add("buzz");
}
else if (myval % 15 == 0)
{
listBox1.Items.Add("fizzbuzz"); // for multiples of both 3 and 5
}
else
{
listBox1.Items.Add(myval);
}
}