我是这个社区的新手。所以详细说明我的问题:我想让一个数字开始为0计数到10(1,2,3,4,5,6,7,8,9,10)然后做一个if语句说是否x < = 10打印“你好世界”。接下来是一个else语句:打印“你好黑暗我的老朋友”。
以下是我提出的代码:
#include <iostream>
using namespace std;
int main() {
for (int x = 0; x <= 10; x += 2) {
cout << x << endl;
if (x = 20) {
cout << "hello world" << endl;
}
else {
cout << "hello darkness my old friend" << endl;
}
}
return 0;
}
问题在于,每次运行它时,它总是说:
0
hello world
我想说的是:
0
2
4
6
8
10
hello world
即使我改变了:
if (x = 10)
要:
if (x = *any number higher than 10*)
它仍然具有相同的输出:
0
hello world
请帮我解决这个问题。
编辑:我看到每个人都对我想要的输出感到困惑。我想要的输出是如果语句是真的,打印:
0
2
4
6
8
10
hello world
其他,打印:
hello darkness my old friend
答案 0 :(得分:2)
#include <iostream>
using namespace std;
int main() {
for (int x = 0; x <= 20; x += 2)
{
cout << x << endl;
if (x == 10)
{
cout << "hello world" << endl;
}
else if(x > 10)
{
cout << "hello darkness my old friend" << endl;
}
}
return 0;
}
我认为这就是你想要的;我将循环限制增加到20,修正了if(x ==10)
的比较问题,我添加了其他if(x > 10)
来处理大于10的数字。希望有所帮助!
答案 1 :(得分:2)
我猜你正在寻找的是什么: -
#include <iostream>
using namespace std;
int main() {
int num;
cin>>num;
//num taken from user
if(num%2==0) {
for (int x = 0; x <= num; x += 2) {
cout << x << endl;
}
cout<<"Hello World" <<endl;
} else {
cout << "hello darkness my old friend" << endl;
}
return 0;
}
输出将如下: -
let num=12; //entered by USER
0
2
4
6
8
10
12
Hello World
// In Case of False Condition
hello darkness my old friend
答案 2 :(得分:1)
除了分配/比较问题之外,你的循环永远不会达到比10
更高的数字,因为当循环条件表明循环将结束时,它就是这样。
声明for (int x = 0; x <= 10; x += 2)
说明i
定义并初始化为0
,循环x <= 10
为真,并且每次迭代后x
增加2
1}}。它与此基本相同:
{
int x = 0;
while (x <= 10)
{
// Your code inside the loop
x += 2;
}
}
因此,循环将为x
提供以下值:0
,2
,4
,6
,8
,{{ 1}}之后10
为假,循环结束。
回到作业/比较问题,这就是有些人喜欢写作的原因,例如x <= 10
代替20 == x
。如果错误地使用赋值而不是比较,那么表达式将是x == 20
,这不是有效的表达式,编译器会生成错误。
今天的大多数编译器在用作条件时都能够检测到赋值20 = x
,并且可以为此生成警告。您可能希望为编译器启用更高的警告级别来告诉您。
答案 3 :(得分:1)
问题是你将10分配给x,所以
(x=10) == true
答案 4 :(得分:1)
我试图解决这个问题,并且我将其数量计算为10,至少。 这是我的代码:
#include <iostream>
using namespace std;
int main() {
for (int x = 0; x <= 10; x += 2) {
cout << x << endl;
if (x == 20) {
cout << "hello world" << endl;
}
else {
cout << "hello darkness my old friend" << endl;
}
}
return 0;
}
这是输出:
0
hello darkness my old friend
2
hello darkness my old friend
4
hello darkness my old friend
6
hello darkness my old friend
8
hello darkness my old friend
10
hello darkness my old friend
这是您需要的结果吗?
答案 5 :(得分:0)
试试这个
#include <iostream>
using namespace std;
int main()
{
for (int x = 0; x <= 10; x += 2)
{
cout << x << endl;
if (x == 10)
cout << "hello world" << endl;
else
cout << "hello darkness my old friend" << endl;
}
return 0;
}