如果for循环中的语句
如何在for循环中只运行其中一个if语句?例如,我有5输入...我只是希望它再打印五......但每当我运行这段代码,如果statement..please帮我如果for循环中的语句
#include <iostream>
#include <cstdio>
using namespace std;
int main() {
// Complete the code.
int a;
int b;
cin >> a;
for (a = 0; 0<a<10; a++)
{
if (a == 1)
{
cout << "one";
}
if (a == 2)
{
cout << "two";
}
if (a == 3)
{
cout << "three";
}
if (a == 4)
{
cout << "four";
}
if (a == 5)
{
cout << "five";
}
if (a == 6)
{
cout << "six";
}
if (a == 7)
{
cout << "seven";
}
if (a == 8)
{
cout << "eight";
}
if (a == 9)
{
cout << "nine";
}
else if (a > 9 && a%2 == 0)
{
cout << "even";
}
else if (a > 9 && a&2 != 0)
{
cout << "odd";
}
}
return 0;
}
你不必要它会执行所有for
循环会丢弃输入值a
并永久循环!(至少直到您溢出签名类型a
)。
您正在使用它作为for
循环中的计数器替代a
!如果您只想要一个输出,则完全删除for
循环。如果您for
环是保持那么你的表达0 < a < 10
应该被改写为0 < a && a < 10
:正式0 < a < 10
被评估为(0 < a) < 10
这要么是true < 10
或false < 10
这是总是true
。
还要考虑重构你的if else
建立明确相互排斥的语句:
if (a == 1){
cout << "one";
} else if (a == 2){
cout << "two";
/*and so on*/
} else {
/*all other cases*/
}
虽然在这种情况下,你可能要考虑一个switch
块:
switch (a){
case 1:
cout << "one";
break; // to stop program control flowing into the next case
case 2:
cout << "two";
break;
/*and so on*/
default:
/*all other cases*/
}
道歉@Downvoters,我确实有最初的错误结束 – Bathsheba
如果一个问题要求我使用for循环并要求输出t: 对于每个整数(因此该范围内的所有数字): 如果1 9并且它是偶数,则打印“偶数”。 否则,如果n> 9并且它是奇数,则打印“奇数”。 –
if() {
} else if() {
}
虽然
switch() {
}
在你的情况下会更有效率。
更新1
@ Aleph0
下面是解决
int main() {
int a;
cin >> a;
switch (a) {
case 1: cout << "one"; break;
case 2: cout << "two"; break;
case 3: cout << "three"; break;
case 4: cout << "four"; break;
case 5: cout << "five"; break;
case 6: cout << "six"; break;
case 7: cout << "seven"; break;
case 8: cout << "eight"; break;
case 9: cout << "nine"; break;
default: cout << ((a & (1 << 31)) ? "negative" : (a & 1) ? "odd" : "even"); break;
}
}
问题已经被问做以下
我有5输入.. 。我只想要它打印五个
而且,有人已经在上面正确地提到过,for
循环在这里并不重要。
使用开关()不会解决他的问题。循环是这里真正的问题。 – Aleph0
你想实现什么?你正在输入a,但是在循环中再次初始化为0 – Pirate
删除'for 'loop。 –
你需要找到一个[良好的初学者书](http://*.com/questions/388242/the-definitive-c-book-guide-and-list)并阅读条件表达式。在(不必要的)'for'循环中是不正确的。在阅读本书时,关于'switch'语句的红色和数组(你不需要一大串'if-else'或'switch'语句) –