这样简单的题还用了STL,很惭愧….
#include <iostream>
#include <string>
#include <set>
#include <algorithm>
using namespace std;
int a[1005];
int main(int argc, char const *argv[]) {
string s;
while (cin >> s) {
int num = 0;
int i = 0;
s += "5";
multiset<int> ms;
for (int i = 0; i < s.size(); i++) {
if (s[i] == '5') {
if (i == 0 || (i - 1 >= 0 && s[i-1] == '5')) {
continue;
}
ms.insert(num);
num = 0;
} else {
num = num * 10 + s[i] - '0';
}
}
multiset<int> :: iterator it;
for (it = ms.begin(); it != ms.end(); it++) {
if (it != ms.begin()) {
putchar(' ');
}
printf("%d", *it);
}
putchar('\n');
}
return 0;
}