如何使用c++输入多组不确定的数据?

新手上路,请多包涵

题目描述:小明从老师那里拿到了两组数据(int就可以),但是呢,都是乱码的,现在要把这两组数据合并成一组有序的数据归还给老师。但是他不会做。希望你能帮助他。
//input:有好几组测试数据。每一组数据包括两行。
// 第一行的第一个数表示第一组数据的个数N(0 <= N <= 1000)。后面N个数表示第一组数据。
// 第二行第一个数表示第二组数据的个数M(0 <= M <= 1000)。后面M个数表示第二组数据。
//output:对于每一个测试样例。输出合并后的数据。
// 两个不同的数据之间用空格隔开。
// 每两个不同的测试样例之间用空行表示。### 题目描述

阅读 5.3k
2 个回答

while (cin >> n) {}

如果读到输入末尾(EOF)就会退出。

如果是 c 语言使用 while (scanf(...) != -1) {}

可以了解 c++ 如何处理 eof。

在控制台标准输入时可以使用 ctrl + z 或者 ctrl + d 输入 EOF

#include <iostream>
#include <algorithm>
using namespace std;

int main() {
    int n, m;
    int arr[2003];
    while (cin >> n) {
        cin >> m;
        for (int i = 0; i < n + m; i++) {
            cin >> arr[i];
        }
        sort(arr, arr + m + n);
        for (int i = 0; i < n + m; i++) {
            cout << i << ' ';
        }
        cout << endl;
    }
}
新手上路,请多包涵

你可以这样:

while(cin>>n!=EOF) {
    
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题