一直注意这道题很久了。选拔赛之前就看见这道题一直做不出来。拖到现在终于做了。
1.可以用很多C函数来解决很多问题,非常方便。写完这道题觉得自己写的函数才是王道。strchr(char*a,char ch)
2.唯一一个要注意考虑的地方就是连续几个5

1 #include <stdio.h> 2 #include <string> 3 #include <string.h> 4 #include <iostream> 5 #include <algorithm> 6 using namespace std; 7 8 int cal(string a) 9 { 10 int ten=1 , res = 0; 11 for(int i=a.length()-1;i>=0;i--) 12 { 13 res += ten * (a[i]-'0'); 14 ten *= 10; 15 } 16 return res; 17 } 18 19 int main() 20 { 21 int num[1010]; 22 char str[1010]; 23 while(cin>>str) 24 { 25 int cur =0; 26 int cnt =0; 27 string snum = ""; 28 while(cnt < strlen(str)) 29 { 30 if(str[cnt] == '5') 31 { 32 //cout<<snum<<' '; 33 if(snum!="") 34 { 35 num[++cur] = cal(snum); 36 snum = ""; 37 } 38 } 39 else snum += str[cnt]; 40 cnt++; 41 } 42 if(snum!="") num[++cur] = cal(snum);//,cout<<snum<<endl; 43 sort(num+1,num+cur+1); 44 for(int i=1;i<cur;i++) 45 { 46 cout<<num[i]<<' '; 47 } 48 cout<<num[cur]<<endl; 49 } 50 return 0; 51 } 52 // 000235664589300025000341500