您的位置:首页 > 其它

HDU 1106 排序

2012-08-20 11:28 393 查看
刚开始是用比较字符串的方法,但是老是WA,看了别人的思路,就改成现在的代码了。。。

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

char s[10005];

long long i,l,count;

long long num[10005];

int cmp(const void *a,const void *b)

{

return *(int *)a - *(int *)b;

}

int main()

{

while(scanf("%s",s)!=EOF)

{

l=strlen(s);

memset(num,0,sizeof(num));

for(i=0,count=0;i<l;i++){

if(s[i]=='5' && i!=0 && s[i-1]!='5'){

count++;

}

else if(s[i]!='5'){

num[count]=num[count]*10+s[i]-'0';

}

}

if(s[l-1]=='5') count--;

count++;

qsort(num,count,sizeof(num[0]),cmp);

printf("%I64d",num[0]);

for(i=1;i<count;i++)

printf("% I64d",num[i]);

printf("\n");

}

system("pause");

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: