文章

74

粉丝

0

获赞

94

访问

8.2k

头像
数组排序 (stringstream分割)题解:
P1798 华南理工大学/西北工业大学机试题
发布于2025年8月22日 19:28
阅读数 52

#include <iostream>
#include <cstdlib>
#include <vector>
#include <string>
#include <sstream>
#include <algorithm>

using namespace std;

int main() {
    string input;
    vector<int> numbers;

    // 读取一行输入
    getline(cin, input);

    // 分割字符串并转换为整数
    stringstream ss(input);
    string token;
    while (getline(ss, token, ',')) {
        int num = atoi(token.c_str());
        numbers.push_back(num);
    }

    // 排序
    sort(numbers.begin(), numbers.end());

    // 输出,每行4个数字
    for (size_t i = 0; i < numbers.size(); ++i) {
        cout << numbers[i];
        // 不是最后一个数字且不是每行的最后一个数字则输出空格
        if (i != numbers.size() - 1 && (i + 1) % 4 != 0) {
            cout << " ";
        }
        // 每行的第4个数字后输出换行
        if ((i + 1) % 4 == 0) {
            cout << endl;
        }
    }

    return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发