C++ fizzbuzz 开关语句?
c++ fizzbuzz switch statement?
我正在尝试查看是否可以创建 fizzbuzz c++ switch 语句。我收到一条错误消息,指出 i 在 const 表达式中不可用。这是否意味着我无法让这件事发挥作用?或者有解决办法吗?这是我的代码。
#include <iostream>
using namespace std;
int main() {
for(int = 1; 1 <= 100; i++){
switch(true){
case(i % 3 == 0 & i % 5 == 0):
cout << "fizzbuzz" << endl;
break;
case(i % 3 == 0):
cout << "fizz" << endl;
break;
case(i % 5 == 0):
cout << "fizz" << endl;
break;
default:
cout << i << endl;
}
}
}
如果你真的想使用 switch/case 那么你可以这样做:
switch (i % 15)
{
case 0 : cout << "fizzbuzz\n"; break;
case 5:
case 10: cout << "buzz\n"; break;
case 3:
case 6:
case 9:
case 12: cout << "fizz\n"; break;
default: cout << i << "\n"; break;;
}
您的使用方式存在一些基本问题 switch/case。
预期的使用方式是让 switch
引用变量或表达式,然后 case
部分引用常量值。
相反,您正在做的是 switch(true)
,这没有任何意义,即使它可以编译。它相当于 switch(1)
。所以在那种情况下,只有 case 1:
会适用。
您不能使用 case
的表达式。这些必须是常数整数值。因此,例如,您可以使用普通整数 case 0:
,或者通常预处理器定义 case FIZZBUZZ:
.
如评论中所述,有几次,您不能总是像 if
语句那样使用 switch()
语句,并且您的代码还有其他几个问题。我不会给你正确的答案,因为我认为这对你的帮助最大。
这里有一些注意事项:
1) 您应该使用 if
、else if
和 else
语句而不是开关。
2) 在 C++ 中,and
表示为 &&
而不是 &
3) for
循环声明为 for(int i = 0; i <= 100; i++)
您应该 watch/read 一些关于如何编写 C++ 代码的简单教程,因为理解这些基础知识很重要。
我正在尝试查看是否可以创建 fizzbuzz c++ switch 语句。我收到一条错误消息,指出 i 在 const 表达式中不可用。这是否意味着我无法让这件事发挥作用?或者有解决办法吗?这是我的代码。
#include <iostream>
using namespace std;
int main() {
for(int = 1; 1 <= 100; i++){
switch(true){
case(i % 3 == 0 & i % 5 == 0):
cout << "fizzbuzz" << endl;
break;
case(i % 3 == 0):
cout << "fizz" << endl;
break;
case(i % 5 == 0):
cout << "fizz" << endl;
break;
default:
cout << i << endl;
}
}
}
如果你真的想使用 switch/case 那么你可以这样做:
switch (i % 15)
{
case 0 : cout << "fizzbuzz\n"; break;
case 5:
case 10: cout << "buzz\n"; break;
case 3:
case 6:
case 9:
case 12: cout << "fizz\n"; break;
default: cout << i << "\n"; break;;
}
您的使用方式存在一些基本问题 switch/case。
预期的使用方式是让 switch
引用变量或表达式,然后 case
部分引用常量值。
相反,您正在做的是 switch(true)
,这没有任何意义,即使它可以编译。它相当于 switch(1)
。所以在那种情况下,只有 case 1:
会适用。
您不能使用 case
的表达式。这些必须是常数整数值。因此,例如,您可以使用普通整数 case 0:
,或者通常预处理器定义 case FIZZBUZZ:
.
如评论中所述,有几次,您不能总是像 if
语句那样使用 switch()
语句,并且您的代码还有其他几个问题。我不会给你正确的答案,因为我认为这对你的帮助最大。
这里有一些注意事项:
1) 您应该使用 if
、else if
和 else
语句而不是开关。
2) 在 C++ 中,and
表示为 &&
而不是 &
3) for
循环声明为 for(int i = 0; i <= 100; i++)
您应该 watch/read 一些关于如何编写 C++ 代码的简单教程,因为理解这些基础知识很重要。