杭电1106 排序

/*********************************
* 日期:2011-3-11
* 作者:SJF
* 题号:杭电1106
* 题目:排序
* 结果:AC
* 题意:
* 总结:
**********************************/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int cmp(const void*a,const void*b)
{
return *(int *)a-*(int *)b;
}
int main()
{
char number[1001];
while(scanf("%s",number)!=EOF)
{
int i,len,k=0,flag=0;
int num[1001];
memset(num,0,sizeof(int)*1001);
len=strlen(number);
for(i=0;i<len;)
{
if(number[i]=='5')
{
i++;
}
while(number[i]!='5'&&i<len)
{
num[k]=num[k]*10+number[i]-48;
i++;
flag=1;
}
if(flag==1)
{
k++;
flag=0;
}
}
qsort(num,k,sizeof(int),cmp);
for(i=0;i<k-1;i++)
{
printf("%d ",num[i]);
}
printf("%d\n",num[k-1]);
}
return 0;
}



你可能感兴趣的:(排序)