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;
}
#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;
}
相关文章推荐
- 字符串(流操作)fafu - 1543 -简单求和 && hdu 1106 排序
- hdu 1106 排序
- HDU 1106 NYOJ 525 排序 一道水题
- B - 排序 HDU - 1106
- hdu 1106 排序
- hdu——1106排序(重定向)
- HDU 1106 排序
- hdu 1106 排序 (字符串 排序)
- HDU 1106-排序
- HDU 1106 排序
- HDU 1106 排序
- HDU 1106排序
- hdu 1106 排序(水题,字符串)
- HDU 1106 排序
- hdu--1106--排序(java版)
- hdu 1106 排序
- hdu 1106 排序
- 【stringstream&getline】hdu 1106 排序
- hdu 1106 排序 20140805.cpp
- HDU 1106 排序