很多时候会遇到给一行数,巴拉巴拉……
然后就很纠结,一行数有多少个呢?
怎么输入呢?
今天做题又遇到这个,然后一个小技巧完美解决,看代码吧:
#include <iostream>
#include <vector>
using namespace std;
int main(){
int n;
vector<int> num;
while(cin>>n){
num.push_back(n);
if(cin.get()=='\n')//完美
break;
}
for(int x=0;x<num.size();x++)
cout<<num[x]<<' ';
cout<<endl;
return 0;
}
1)以空格分割
2)以逗号分割
---------------------------更新-分割线---------------------------------
还有一种方法,类似,直接上代码吧:
#include <iostream>
#include <vector>
using namespace std;
int main()
{
vector<vector<int> > nums;
int m1, m2;
// 结束输入标志方法一(ctrl + z, 再回车)
//while(EOF != scanf("%d %d", &m1, &m2))
while(cin >> m1 >> m2)
{
vector<int> temp(2);
temp[0] = m1;
temp[1] = m2;
nums.push_back(temp);
// 方法二:单行回车键结束循环输入
// if (cin.get() == '\n')
// break;
}
cout <<"输入结果是:"<< endl;
for(int i=0;i<nums.size();i++){
for(int j=0;j<nums[0].size();j++)
cout<<nums[i][j]<<' ';
cout<<endl;
}
return 0;
}
运行示例如下: