21xrx.com
2025-06-11 08:38:29 Wednesday
文章检索 我的文章 写文章
C++如何实现一次性输入多组数据并输出结果?
2023-06-30 13:17:55 深夜i     21     0
C++ Input Multiple Data Output Result

在C++编程中,经常需要进行多次输入和输出,而有时候我们需要一次性输入多组数据,然后一次性输出多组结果。本文将介绍如何利用C++实现一次性输入多组数据并输出结果的方法。

方法一:利用while循环输入和输出

最简单的方法是利用while循环实现,即不停地输入和输出,直至满足退出条件。以下是示例代码:

#include <iostream>
using namespace std;
int main()
{
  int n;
  while (cin >> n)
  {
    // 读入n组数据
    int a, b;
    for (int i = 0; i < n; i++)
    {
      cin >> a >> b;
      // 对每组数据进行处理
      cout << a + b << endl;
    }
  }
  return 0;
}

在上述代码中,我们利用了cin的EOF(End of File,文件结束)特性,即当在输入时遇到Ctrl + Z键时,cin会停止输入,程序退出。

方法二:在一行中输入多组数据

另一种方法是在一行中输入多组数据,使用stringstream对这一行数据进行解析。以下是示例代码:

#include <iostream>
#include <sstream>
using namespace std;
int main()
{
  string line;
  while (getline(cin, line))
  {
    stringstream ss(line);
    // 将一行字符串转化为多个数字
    int a, b;
    while (ss >> a >> b)
    {
      // 对每组数据进行处理
      cout << a + b << endl;
    }
  }
  return 0;
}

在以上代码中,我们利用了getline函数读取一行字符串,然后利用stringstream对这一行字符串进行解析,得到多组数据。此外,我们还利用了stringstream的 >> 运算符重载,将字符串中的数字转化为int类型。

总结

以上两种方法都能够实现一次性输入多组数据并输出结果。第一种方法需要输入多次,适用于数据量不大的情况;第二种方法将多组数据转化为一行字符串,可以一次性输入,适用于数据量较大的情况。

  
  

评论区