首页 > 代码库 > (HDU)1106 -- 排序

(HDU)1106 -- 排序

题目链接:http://vjudge.net/problem/HDU-1106

字符串处理的排序问题:

技术分享
 1 #include<stdio.h>
 2 #include<algorithm>
 3 #include<string.h>
 4 using namespace std;
 5 char s[1003];
 6 int a[1003],len;
 7 int main()
 8 {
 9     memset(s,0,sizeof(s));
10 
11     while(scanf("%s",&s)!=EOF)
12     {
13         memset(a,0,sizeof(a));
14         len=strlen(s);
15         int j=0;
16         int flag=0;
17         for(int i=0;i<len;i++){
18             if(s[i]==5&&i==0){
19                 continue;
20             }
21             if(s[i-1]==5&&s[i]==5&&i>=1){
22                 continue;
23             }
24             if(s[i]!=5){
25                 if(flag==1){
26                     j++;
27                 }
28                 a[j]=a[j]*10+(int)(s[i]-0);
29                 flag=0;
30             }
31             if(s[i]==5){        
32                 flag=1;
33             }
34         }
35         sort(a,a+j+1);
36         for(int i=0;i<j;i++)
37         {
38             printf("%d ",a[i]);
39         }
40         printf("%d\n",a[j]);
41         memset(s,0,sizeof(s));
42     }
43 }
View Code

 

(HDU)1106 -- 排序