博客中(OJ在线编程:C++输入输出控制 ),已整理11种场景的输入处理,参考大佬们造的轮子,封装了C++字符串的分割函数(类似于Java的split方法),欢迎自取。
字符串排序(3)
考点:键盘输入多组数据,每组数据个数不定,根据指定字符分割字符串。
输入:多个测试用例,每个测试用例一行。每行通过逗号,隔开,有n个字符,n<100
输出:对于每组用例输出一行排序后的字符串,用逗号’,'隔开,无结尾空格。
输入: a,c,bb f,dddd nowcoder 输出: a,bb,c dddd,f nowcoder
#include <iostream>
using namespace std;
#include <string>
#include <vector>
#include <sstream>
#include <algorithm>
void printVector(const vector<string> &vec){
for(int i = 0; i < vec.size(); i++){
if(i != vec.size() - 1){
cout << vec[i] << ",";
}else{
cout << vec[i] << endl;
}
}
}
int main(){
int n;
string line; //一整行字符串
string temp; //被分割的字符串
vector<string> vec;
//每次读取一整行
while(getline(cin, line)){
//创建字符串流stringstream对象
stringstream ss(line);
//根据指定字符分割字符串
while(getline(ss, temp, ',')){
vec.push_back(temp);
}
sort(vec.begin(), vec.end());
printVector(vec);
vec.clear();
}
return 0;
} 
京公网安备 11010502036488号