64,649
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
string s, sub;
vector<int> v;
while(cin >> s){
v.clear();
for ( int i = 0; i < s.size(); i++ ){
if ( s[i] == '5' ){
if ( !sub.empty() ) { //这是什么,这里什么意思 ,sub 也是容器?
v.push_back( atoi( sub.c_str() ) ); //auti??
sub = "";
}
}
else{
sub += s[i];
}
}
if ( !sub.empty() ) {
v.push_back( atoi( sub.c_str() ) );
sub = "";
}
sort(v.begin(), v.end());
for ( i = 0; i < v.size() - 1; i++ ){
cout << v[i] << ' ';
}
cout << v[i] << endl;
}
return 0;
}
[/size]
#include <string>
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
int main()
{
string str;
while(cin>>str)
{
int uPos = 0;
int a[100000];
memset(a,0,sizeof(a));
while(uPos<str.length()&&uPos!=string::npos)
{
uPos = str.find("5",uPos);
if(uPos!=string::npos)
str.replace(uPos,1," ");
} //将所有的5换成空格
uPos = 0;
int uBeginPos = 0;
int uEndPos = uBeginPos;
while(uBeginPos<str.length()&&uBeginPos!=string::npos)
{
uBeginPos = str.find_first_not_of(' ',uBeginPos);
if(uBeginPos!=string::npos)
{
uEndPos = str.find(' ',uBeginPos);
a[uPos] = atoi(str.substr(uBeginPos,uEndPos - uBeginPos).c_str());//解出每个数字
uBeginPos = uEndPos;
uPos++;
}
}
sort(a,a+uPos); //数字排序,从小到大
for(int i = 0;i<uPos;i++)
{
if(i == 0)
cout<<a[i];
else
cout<<' '<<a[i];
}
cout<<endl;
}
return 0;
}
// in namespace std scope;
typedef basic_string<char> string;