hdu 1106 排序

 
  
#include < stdio.h >
#include
< string .h >
#include
< stdlib.h >
int cmp( const void * a, const void * b)
{
return * ( long * )a > * ( long * )b ? 1 : - 1 ;
}
int main( )
{
char ch[ 1005 ];
while (scanf( " %s " ,ch) != EOF)
{
char * p, * q,ch1[ 1005 ];
int len,i = 0 ,k = 0 ,m = 0 ,flag = 0 ;
long A[ 1001 ];
len
= strlen(ch);
memset(A,
0 , sizeof (A));
p
= ch;
q
= ch + len;
while ( * p == ' 0 ' )
{
p
++ ;
if ( * p == ' 5 ' )
{
A[
0 ] = 0 ;
flag
= 1 ;

}
}
m
= 0 ;
if (flag)
k
= 1 ;
else
k
= 0 ;

while ( p < q )
{

i
= 0 ;
int flag2 = 0 ;
while ( * p != ' 5 ' )
{
ch1[i
++ ] =* p;
p
++ ;
flag2
= 1 ;
}
if (flag2 == 1 )
{
ch1[i]
= ' \0 ' ;
A[k
++ ] = atol(ch1);

}

while ( * p == ' 5 ' )
{
p
++ ;
while ( * p == ' 0 ' )
{

p
++ ;
if ( * p == ' 5 ' )
A[k
++ ] = 0 ;

}

}
}
qsort(A,k,
sizeof (A[ 0 ]),cmp);
for (i = 0 ;i < k;i ++ )
printf(i
== k - 1 ? " %ld\n " : " %ld " ,A[i]);

}
// system("pause");
return 0 ;
}



这道题目,由于没有看清题意,“可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。
”,就因为这句话浪费了我一个小时,一直wrong answer。。。。审题。。

转载于:https://www.cnblogs.com/tangcong/archive/2011/04/10/2010987.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值