- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,这确实不是一个杂乱的问题,而是一个 C 问题。
我用 C 语言编写了一些简单的代码,用于根据需要打印出 fizzbuzz。
#include <stdio.h>
int main(void)
{
int n = 30;
int i;
for (i = 1; i<=n; i++)
printf("%s\n", (i % 15) == 0 ? "fizzbuzz" : (i % 5) == 0 ? "buzz" : (i % 3) == 0 ? "fizz" : i);
}
现在,最后一个 else 语句显然不起作用,因为 printf 接受字符串,而“i”是 int。我的问题是,是否可以应用任何类型的转换将“i”转换为字符串?
编辑:我应该提到,我真正要问的是这个 fizzbuzz 测试是否可以使用单个打印语句来完成。除了好奇是否可以完成之外,没有什么特别的原因让我希望它成为一个单一的打印语句。
EDIT2:问题得到解答,这是我的实现:
#include <stdio.h>
int main(void)
{
int i, n=30;
for (i = 1; i<=n; i++)
printf((!(i%3) || !(i%5)) ? "%s\n" : "%d\n", !(i % 15) ? "fizzbuzz" : !(i % 5) ? "buzz" : !(i % 3) ? "fizz" : i);
}
最佳答案
由于您尝试将所有逻辑放入 printf
调用中,您已将自己逼入绝境。最好先以“慢”的方式写出来,然后再寻找优化的方法。
for (i = 1; i <= n; i++) {
if (i % 15 == 0)
printf("fizzbuzz\n");
else if (i % 5 == 0)
printf("buzz\n");
else if (i % 3 == 0)
printf("fizz\n");
else
printf("%d\n", i);
}
/* The following code is NOT recommended... */
int isFizz = (i % 3 == 0 ) ? 1 : 0;
int isBuzz = (i % 5 == 0 ) ? 1 : 0;
int isFizzBuzz = (isFizz && isBuzz) ? 1 : 0;
printf(
(isFizz || isBuzz) ? "%s\n" : "%d\n",
(
isFizzBuzz ? "fizzbuzz" :
isFizz ? "fizz" :
isBuzz ? "buzz" :
i
)
);
关于c - C 语言 Fizzbuzz 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29574784/
所以我对编码很陌生,我正在尝试所有不同的“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
我是一名优秀的程序员,十分优秀!