编辑它的价值,承认可能不是那么多.我做了一点测试来扩展这个问题.
我写了两个函数来枚举FizzBuzz"系列".
private static IEnumerable<string> SimpleFizzBuzz(
int start = 0,
int end = int.MaxValue)
{
return Enumerable.Range(start, end).Select(i =>
i % 15 == 0 ? "fizzbuzz" :
i % 3 == 0 ? "fizz" :
i % 5 == 0 ? "buzz" :
i.ToString(CultureInfo.InvariantCulture));
}
Run Code Online (Sandbox Code Playgroud)
和,
private static IEnumerable<string> OptimizedFizzBuzz(
int start = 0,
int end = int.MaxValue)
{
const int fizz = 3;
const int buzz = 5;
const string fizzString = "fizz";
const string buzzString = "buzz"; …Run Code Online (Sandbox Code Playgroud) 我正在尝试为C#编写一个程序,涉及从1到100的循环.如果有3的倍数在数字旁边写"Fizz",则5的倍数在数字旁边写"Buzz",两者都写"FizzBuzz".
我有代码,但它重复数字,例如:1 2 3Fizz 3 4 5Buzz 5 6Fizz 6等.如何防止数字重复?
static void Main(string[] args)
{
PrintNumbers();
Console.ReadLine();
}
static void PrintNumbers()
{
for (int i = 1; i <= 100; i++)
{
if ( i % 3 == 0)
{
Console.WriteLine(i + " Fizz");
}
if (i % 5 == 0)
{
Console.WriteLine(i + " Buzz");
}
if (i % 3 == 0 && i % 5 == 0)
{
Console.WriteLine(i + " FizzBuzz");
}
else
{
Console.WriteLine(i);
}
} …Run Code Online (Sandbox Code Playgroud)