可以当做STL的入门题,,杯具的是我竟然忘记考虑字符串最后一个不应定是以5结束,因此总是少一个数据。。
#include<string> #include<set> #include<iostream> #include<cstdio> #include<stdlib.h> using namespace std; int main() { string s; while(cin>>s) { multiset<int> q; string s1=""; for(int i=0;i<s.size();++i) { if(s[i]=='5'){ if(s1.size()==0) continue; int a=atoi(s1.data()) ; q.insert(a); s1=""; } else s1+=s[i]; } if(s1.size()>0) //这一点忘记了 { int a=atoi(s1.data()) ; q.insert(a); } if(q.empty()) {printf("0\n");continue;} multiset<int>::iterator iter; for(iter=q.begin();iter!=q.end();++iter) printf("%d ",*iter); printf("\n"); } return 0; }