比如要求输入
1 2 -1
2 3 4 5 6
2 4 5
可能有无限行输入, 并且每一行输入的整数的数量不一, 我需要将每一行的整数存入一个数组, 但问题在于如果我使用std::cin >> x
的话, 我不知道如何判断换行是否已经发生并且我也不知道如何判断输入已经结束了, 望解答.
比如要求输入
1 2 -1
2 3 4 5 6
2 4 5
可能有无限行输入, 并且每一行输入的整数的数量不一, 我需要将每一行的整数存入一个数组, 但问题在于如果我使用std::cin >> x
的话, 我不知道如何判断换行是否已经发生并且我也不知道如何判断输入已经结束了, 望解答.
也可以用getchar()判断一下回车符号,大体如下:
#include<stdio.h>
#include<iostream>
using namespace std;
int main()
{
while(true)
{
int n,num[100];
int flag = 0;
while(cin>>n)
{
num[flag++] = n;
if(getchar()=='\n')
break;
}
for(int i=0;i<flag;i++)
{
cout<<num[i]<<" ";
}
}
return 0;
}
2 回答627 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答907 阅读✓ 已解决
1 回答2k 阅读
1 回答1.1k 阅读
1 回答1.7k 阅读
我刚看完C++ primer,大概是这样的做法吧。