读取一系列数字

reading a series of numbers

本文关键字:数字 一系列 读取      更新时间:2023-10-16

输入:
输入将由一系列整数对a和b组成,用空格分隔,每行一对整数。您应该读取输入直到EOF。

输出:
对于每对输入整数a和b,您应该在一行中输出a和b的和,输入中的每行都有一行输出。 样本输入:
1 5
7 2

样本输出:

6
9

我的代码:

#include "iostream"
using namespace std;
int main(){      
    int a=1,b;    
    do
    {
        cin>>a;
        if(a==EOF)
            break;
        cin>>b;
        cout<<a+b;
    }while(1);
    return 0;
}

这些是我的错误:

Main.cc: In function 'int main()':
Main.cc:8: error: 'EOF' was not declared in this scope

cin>>a;在到达文件末尾时不会将a设置为任何值,而是更改流的状态。您可以通过检查cin本身的状态来检查文件的末尾:

    cin >> a;
    if (!cin) 
        break;

使用流的惯用方法:

int a, b;
if (!(std::cin >> a >> b)) { /* error! */ }
std::cout << a + b << std::endl;

如果你处于循环中,你甚至可以说:

while (std::cin >> a >> b)
{
  // do stuff
}