【发布时间】:2018-06-02 03:40:46
【问题描述】:
我在http://www.spoj.com/problems/RETO7/做一个练习,但是我在阅读输入时卡住了,输入行的数量是未知的,每行有两个数字,还有空行,有没有人知道解决方法这个问题。输入被粘贴到控制台。
我上面提到的网页为我们提供了一台运行代码的机器(对于页面上也列出的任何问题)。我们可以通过标准输入标准输出与它的输入文件进行通信。例如,对于添加两个整数的练习,输入包含遵循规则的行,第一行是要计算的 int 对的数量,称为 n,接下来的 n 行每行有两个整数。输出是 n 行,每行包含上述整数对的总和。解决这个问题,下面的代码就可以了
#include <iostream>
using namespace std;
int main()
{
int n,i,a,b;
cin>>n;
for(i=0;i<n;i++)
{
cin>>a>>b;
cout<<a+b<<endl;
}
//fflush(stdin);
//getchar();
}
但是现在输入规则改变了,第一行没有要计算的总和数,所以我不知道要调用多少“cin”。我正在寻找一种读取所有输入的解决方案,我只希望它只计算我粘贴到控制台的输入,之后不再输入。我为上面的代码粘贴的输入是
7
1 2
3 4
5 6
7 8
9 10
23 34
56 67
结果
3
7
11
15
19
57
123
ps:我真的不知道输入是否可能包含空行,但在他们提供的示例中确实如此 感谢阅读!
【问题讨论】:
-
请发布您迄今为止尝试过的内容,最好是minimal reproducible example,并指出您遇到问题的地方。
-
您是否尝试过使用 Google(“c++ 读取到文件末尾”)?只要确保避免使用
while(file.eof())mistake。 -
与其尝试用您不会使用的语言编写程序,不如找一本书/教程来学习?