HDU 1106 排序
2014-07-10 18:15
197 查看
原本很简单的一道题做了老半天,老是显示格式错误,受不了了,看了很长时间呀
#include<stdio.h> #include<stdlib.h> #include<string.h> int cmp(const void *a,const void *b) { return *(int *)a-*(int *)b; } int main () { char str1[1001]; int str2[1001],i; while(scanf("%s",str1)!=EOF) { int k=0,flag=0; int len=strlen(str1); for( i=0;i<len;i++) { if(str1[i]=='5') continue ; else while(str1[i]!='5') { if(i==len) break; else k=k*10+str1[i]-'0'; i++; } str2[flag++]=k; k=0; } qsort(str2,flag,sizeof(str2[0]),cmp); for(i=0;i<flag-1;i++) printf("%d ",str2[i]); printf("%d\n",str[i]); } return 0; }