#include<stdio.h> #include<iostream> #include<cmath> #include<cstdio> #include<string> #include<string.h> #include<math.h> #include<stdlib.h> int leap(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main() { char str[1005]; int a[1005]; while(gets(str)) { memset(a,0,sizeof(a)); int i,t,j,s=0,k=0,temp; t= strlen(str); for(i=0; str[i]=='5'; i++) s=i; for( ; i<t; i++) { if(str[i]=='5') { for(j=s; j<i; j++) { a[k]+=(int(str[j])-'0')*int(pow((float)10,(float)i-j-1)); 、、最后一个数会错??? } k++; while(str[i+1]=='5') i++; s=i+1; } else if(i==t-1) { for(j=s; j<=i; j++) { a[k]+=(int(str[j]-'0'))*(int)pow((float)10,(float)i-j); } k++; s=i+1; } } qsort(a,k-1,sizeof(a[0]),leap);//不知道为什么qsort 没有排序、、纠结、、 for(i=0; i<k; i++) printf((i==k-1)?"%d\n":"%d ",a[i]); } return 0; }
|
|