(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 }