打印从1到100的数字,并用字符串(fizzbuzz)替换一些数字
||
我正在尝试从此处进行fizzbuzz程序:为什么程序员不能编程?
\“编写一个程序,打印从1到100的数字。但是,对于三个数字的倍数,请打印\” Fizz \“,而不是数字;对于五个数字的倍数,请打印\” Buzz \“。对于这三个数字的倍数和五个打印“ FizzBuzz”。
protected void btn1_Click(object sender, EventArgs e)
{
for (int i = 1; i < 101; i++)
{
if (i % 3 == 0 & i % 5 == 0)
{
Response.Write(\"fizzbuzz\" + \",\");
}
else if (i % 3 == 0)
{
Response.Write(\"fizz\" + \",\");
}
else if (i % 5 == 0)
{
Response.Write(\"buzz\" + \",\");
}
else
{
i = i + 0;
}
Response.Write(i +\",\");
}
}
我能够产生某种结果,例如:
1,2,fizz,3,4,buzz,5,fizz,6,7,8,fizz,9,buzz,10,11,fizz,12,13,14,fizzbuzz,15,16,17,fizz, 18,19,buzz,20,fizz,21,22,23,fizz,24,buzz,25,26,fizz,27,28,29,fizzbuzz,30,31,32,fizz,33,34,buzz, 35,fizz,36、37、38,fizz,39,依此类推。
单词fizz已打印,但未替换3,并且fizzbuzz已打印但未替换15,因此...
没有找到相关结果
已邀请:
7 个回复
勺的驴吓识
。 专门查看您的for循环:
因此,您需要移动最后一个Response.Write(i + \“,\”);在最后的“ 3”状态。查找此类错误的最简单方法是使用调试器并调试程序。然后,您将轻松查看输出是什么。因此,一定要使用调试器并设置断点/监视,并观察发生的情况。您的代码应更改为:
请注意,删除
表示您的
循环已经通过增加i来处理此问题。 编辑不确定这是否更容易,但这是使用lambda的另一种方法:
济畦刨
您的
显然不起作用,因为您将i的值加0。 而且,无论if / else块的结果如何(将其放在其后),您都将数字打印到响应上,因此应将其移动到else(意味着仅在if或else if不匹配时打印) 。
杭难插
告耸
嫩昧竞莫
孝箱捆讨
恋裂
但是这个要短得多...