c++读入多组数据,每组数据占一行,数据间以一个空格隔开,每组数据遇到-1结束。将每组数据升序排序
时间: 2024-02-27 08:51:58 浏览: 73
您可以使用vector存储每组数据,然后对每个vector进行升序排序。以下是示例代码:
```c++
#include <iostream>
#include <vector>
#include <sstream>
#include <algorithm>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
vector<int> data;
stringstream ss(line);
int num;
while (ss >> num) {
if (num == -1) break;
data.push_back(num);
}
sort(data.begin(), data.end());
for (int i = 0; i < data.size(); i++) {
cout << data[i] << " ";
}
cout << endl;
if (num == -1) break;
}
return 0;
}
```
假设输入数据如下:
```
1 4 3 2 -1
6 7 9 8 5 -1
```
输出结果为:
```
1 2 3 4
5 6 7 8 9
```
相关问题
c++读入多组数据,每组数据占一行,数据间以一个空格隔开,遇到-1结束
您可以使用while循环读入多组数据,每次读入一行,然后使用stringstream将一行数据分割成多个数字。当读入到-1时,退出循环。以下是示例代码:
```c++
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
if (line == "-1") break;
stringstream ss(line);
int num;
while (ss >> num) {
// 对每个数字进行处理
cout << num << " ";
}
cout << endl;
}
return 0;
}
```
假设输入数据如下:
```
1 2 3 4 5
6 7 8 9
-1
```
输出结果为:
```
1 2 3 4 5
6 7 8 9
```
c++读入多组数据,每组数据占一行,数据间以一个空格隔开,每组数据遇到-1结束
您可以使用while循环读入多组数据,每次读入一行,然后使用stringstream将一行数据分割成多个数字。当读入到-1时,退出当前组数据的读入。以下是示例代码:
```c++
#include <iostream>
#include <sstream>
using namespace std;
int main() {
string line;
while (getline(cin, line)) {
stringstream ss(line);
int num;
while (ss >> num) {
if (num == -1) break;
// 对每个数字进行处理
cout << num << " ";
}
cout << endl;
if (num == -1) break;
}
return 0;
}
```
假设输入数据如下:
```
1 2 3 4 5 -1
6 7 8 9 -1
```
输出结果为:
```
1 2 3 4 5
6 7 8 9
```
阅读全文