你的任務是:對這些分割得到的整數,依從小到大的順序排序輸出。
輸入數據保證:分割得到的非負整數不會大於100000000;輸入數據不可能全由‘5’組成。
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <stack>
#include <set>
#include <map>
#include <string>
using namespace std;
#define pi acos(-1,0)
#define INF 2147483647
int max(int a,int b)
{
return a>=b?a:b;
}
int main()
{
char s[1050];
int ss[1050];
int i,j,l,sum,c;
while(scanf("%s",s)!=EOF)
{
l=strlen(s);
sum=0;
c=0;
memset(ss,0,sizeof(ss));
for(i=0;i<l;i++)
{
if(s[i]=='5')
{
if(s[i-1]!='5' && i!=0) //第一個是5會多加0,要加判斷,還有前一個是5也會
ss[c++]=sum;
sum=0;
}
else
sum=sum*10+s[i]-'0';
}
if(s[l-1]!='5') //最後一個不是5 就要加入
ss[c++]=sum;
sort(ss,ss+c);
for(i=0;i<c;i++)
{
if(i==0)
printf("%d",ss[i]);
else
printf(" %d",ss[i]);
}
printf("\n");
}
return 0;
}
#include <cstdio>
#include <cstring>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <iostream>
#include <algorithm>
#include <stack>
#include <set>
#include <map>
#include <string>
using namespace std;
#define pi acos(-1,0)
#define INF 2147483647
int max(int a,int b)
{
return a>=b?a:b;
}
int main()
{
int n,i,c;
int b[1050];
char a[1050],*p;
while(scanf("%s",a)!=EOF)
{
c=0;
p=strtok(a,"5");
while(p!=NULL)
{
b[c++]=atoi(p);
p=strtok(NULL,"5");
}
sort(b,b+c);
printf("%d",b[0]);
for(i=1;i<c;i++)
printf(" %d",b[i]);
printf("\n");
}
return 0;
}