所以我有这段代码:
for (int i=1000; i<2016; i++ )
{
cout << "The year is " << i << endl;
}
但是,让我说我不希望这些代码打印所有这些年,但只是少数几个,让我们说它是500,1000,1500和2000年。
我尝试将其添加到代码中:
for (int i=1000; i<2016; i++ )
if ( i == 500 , i == 1000 , i == 1500 , i == 2000){
cout << "The year is " << i << endl;
}
但这没效果。
如何让代码只写我选择的年份?
P.S。间隔是随机的,而不是每500个。
答案 0 :(得分:6)
如果您希望每100次迭代发生一次,请使用modulo运算符%
:
for (int i=500; i<20000; i++) {
if (i % 100 == 0) cout << i << endl;
您的代码不正确,因为您错误地使用comma operator(不想要它),因此您的测试等同于if (i==2000)
答案 1 :(得分:2)
我认为你在每个if条件之间缺少||
(OR)。这就像是
if ( i == 500 || i == 1000 || i == 1500 || i == 2000)
答案 2 :(得分:1)
如果您事先了解这些年份:
const auto Years[] = {500, 742, 1000, 1234, 2000, 2015};
for (auto year : Years)
std::cout << "The year is " << year << '\n';
答案 3 :(得分:0)
我不是一个C ++程序员,但看起来执行任务最直接的方式是:
for (int i = 500; i < 2016; i += 500) {
cout << "The year is " << i << endl;
}