- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
只用 C 语言编码了大约一个月,但想知道为什么 while 循环没有更频繁地用于 FIZZBUZZ。是不是不干净还是有其他原因?这是我想到的:
int main()
{
int num=1;
while(num<=100)
{
if (num%3==0 && num%5==0)
{
printf("FIZZBUZZ!!!\n");
}
else if (num%3==0)
{
printf("FIZZ!!!\n");
}
else if (num%5==0)
{
printf("BUZZ!!!\n");
}
else
{
printf("%d\n", num);
}
num++;
}
return 0;
}
最佳答案
您的循环可以整齐地折叠成 for
循环:
for(int num = 1; num <= 100; ++num)
这里有两个优点:
num
的作用域位于循环内部,之前它渗透到 while
后面的任何作用域中。将变量限制在尽可能小的范围内是一个很好的经验法则,因为它可以最大限度地减少在任何给定点需要考虑的变量数量。
程序运行的范围现在汇总在一个位置:您可以在 for
中看到边界(1 到 100)和步骤 (1)。这种范围非常平衡,可以在阅读循环体之前快速阅读和内存。例如,如果您现在只想检查奇数,则可以通过读取 for
header 中的 num += 2
立即清楚,而不是在循环体的最末端。
关于c - 为什么不在 C 中为 FIZZBUZZ 使用 while 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50824517/
所以我对编码很陌生,我正在尝试所有不同的“fizzbuzzs”,并且我遇到了一种使用字典的方法。 当我运行它时,我可以轻松地通过 1 个按键更改来更改任何参数,这很好,但我不明白为什么它首先打印 fi
警告:我并不是要求更好的代码,我只是要求为 HackerRank 提供更短的代码,只是为了了解如何缩短它。 我是 Java 新手,正在尝试这个 FizzBuzz 问题: Write a progr
我已经搜索了大约一个小时的答案,似乎大多数人对 fizzbuzz 的编码方式都与我不同。 但是,在尝试了一切方法来找出为什么这个简单的代码不起作用后,我感到非常沮丧。 任何人都可以指出我确定遇到的简单
我正在尝试做一些简单的测试来帮助进一步了解我的 javascript 知识(这很新鲜)。目标 1 是打印 1-100 之间不能被 5 或 3 整除的数字。 我尝试了以下方法: for (var i =
原问题是:从 1 到 1000 的所有 3 和 5 的倍数之和是多少?我写了这段代码来解决这个问题。 var array =[]; //Setting up the Array for (i=0 ;
我需要一些帮助。我的 fizz-buzz 代码是正确的,但当我的页面加载时,它没有显示。有人可以帮助我缺少什么吗? 这是我的 html: FizzBuzz Challenge FizzBu
新来的,希望我能尽我所能提供帮助。基本上,我的任务是用 Python 编写一个 fizzbuzz 程序,到目前为止,除了我收到的一些反馈外,一切都很好。 现在我必须确保我的程序的输出水平显示,而不是垂
我已经能够解决 fizzbuzz 问题。我有一个关于替代方法的问题。 在我到达数字 10 之前,一切都很好。在控制台中,数字 10 应该打印“buzz”,但它打印的却是数字 10。之后它继续正常工作。
我目前正在学习关于 Javascript 的代码学院类(class),并且我被困在 FizzBuzz 任务上。我需要从 1 到 20 数,如果这个数字可以被 3 print fizz 整除,被 5
我正在做一个简单的 fizzBuzz 函数。目标是让 fizz for 3 buzz for 5 和 fizzBuzz for 15。增加的技巧是让每一个都在自己的行上。 function f
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
使用 SQL 编写一个程序,打印 1 到 100 之间的数字。 但是对于三的倍数打印“Fizz”而不是数字,对于五的倍数打印“Buzz”。对于三和五的倍数的数字打印“FizzBuzz” DECLA
我正在尝试使用列表理解在 haskell 中编写“fizzbuzz”。 为什么以下不起作用,应该如何? [ if x `mod` 5 == 0 then "BUZZFIZZ" if x `mod`
嘿,我看过一个 C++ 演讲,其中有人制作了 lambda fizzbuzz 实现。 这不是!甚至不接近它!我的问题是,为什么我不能使用 ostream& auto fizz = [](int& x,
我目前正在学习 F# 并尝试了(一个非常)简单的 FizzBuzz 示例。 这是我的初步尝试: for x in 1..100 do if x % 3 = 0 && x % 5 = 0 t
我正在尝试执行一个函数,在我的 console.log 中打印 1-27 之间的数字。 当一个数字可以被3整除时,应该用“Fizz”替换该数字 当一个数字可以被 5 整除时,将其替换为“Buzz”。
好吧,这确实不是一个杂乱的问题,而是一个 C 问题。 我用 C 语言编写了一些简单的代码,用于根据需要打印出 fizzbuzz。 #include int main(void) { int
我目前正在尝试使用形状创建 fizzbuzz,但无法正确显示可被 3 和 5 整除的平方。我已经寻找答案,但似乎没有人尝试过这一点。 编写一个程序,在屏幕上绘制 25 个水平方向的黑色圆圈。请使用从零
显而易见的解决方案是这样的: if (x % 15 == 0) println("fizzbuzz"); else if (x % 3 == 0) println ("fizz"); else if
嘿,我最近接到了 fizzbuzz 任务,我用平常的方式回答了, if ((i%3==0) || (i.to_s.include?('3'))) && ((i%7==0) || (i.to_s.inc
我是一名优秀的程序员,十分优秀!