博客中(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; }