我的任务是从最小到最大打印一组数字(用户输入分钟和混音),但是每三个数字打印一个" x"代替。我不确定如何设置它。我的朋友建议使用count ++,但我不能让它正常工作。它运行但它没有显示任何X.
test 'must have attachable' do
attachment = Attachment.new.tap(&:valid?)
assert_includes(attachment.errors.details[:attachable], { error: :blank })
end
}
答案 0 :(得分:2)
您需要在循环之前创建i
,就像在您的代码中每次迭代创建一个新代码一样,并且不要将int count = 0;
for(int i=min; i<=max; i++){
if (++count==3){
cout<<setw(4)<<"X";
count = 0;
} else // print i only when X is not printed
cout<<setw(4)<<i;
}
打印成X而不是:
{{1}}
答案 1 :(得分:1)
模数运算符%
返回除法运算的剩余部分。每个循环执行count++
,因此语句count % 3
为每个循环迭代返回1,2,0,1,2,0等。
当结果为0
时,您知道是时候打印'X'
了。如果没有,请打印i
。
请务必在count
处1
开始,这样您就不会在第一次迭代时打印'X'
。
void no_5_count_from_min_to_max_skip_two(int min, int max)
{
cout << "5.Counting from min to max but skip two:";
cout << endl;
for (int i = min, count = 1; i <= max; i++, count++)
{
if ((count % 3) == 0)
cout << setw(4) << "X";
else
cout << setw(4) << i;
}
cout << endl;
}