每当我在循环中包含cin时,程序会在延迟一段时间后接受输入? 为什么会这样?请尝试以下此计划。
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
int n=0,k,i,j,t;
vector<int> a,b,c,d,s;
cin>>n>>k;
for(i=0;i<n;i++)
{
cin>>j;
a.push_back(j);
cin>>j;
b.push_back(j);
cin>>j;
c.push_back(j);
}
for(t=0;t<k;t++)
{
for(i=0;i<n;i++) d.push_back( (a[i]+t)%k + (b[i]+t)%k + (c[i]+t)%k );
s.push_back(*max_element(d.begin(),d.end()));
d.erase(d.begin(),d.begin()+d.size());
}
cout<<*min_element(s.begin(),s.end());
return 0;
}
答案 0 :(得分:0)
程序将等待您键入输入并按Enter键,它将读取输入。第一个cin将等到下一个输入按下,然后将输入解析到下一个空格或下一个空格,并且留下一个空格之后的任何内容将被未来的cins读取。随后的硬币也一样。即使行中有空格,也只有在按Enter后才会继续执行。