讨论 / 崩溃啊
danny52134 2009-05-02 03:45:00
点我顶贴 收藏 删除
那排序咋就是不对啊

谁帮我看看

#include<iostream>

using namespace std;

struct g

{

char na[14],s[20001];

}zw[1001];

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

{

if(strlen(((g *)a)->s)==strlen(((g *)b)->s))

{

if(strcmp(((g *)a)->s,((g *)b)->s)==0) return strcmp(((g *)a)->na,((g *)b)->na);

return strcmp(((g *)b)->s,((g *)a)->s);

}

return strlen(((g *)a)->s)<strlen(((g *)b)->s);

}

int n,k,i,j,result[491];

int main()

{

cin>>n;

memset(result,0,sizeof(result));

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

cin>>zw[i].na>>zw[i].s;

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

{

k=strlen(zw[i].s)-1;

for(j=490;j>=1;j--,k--)

if(k>=0) {result[j]+=zw[i].s[k]-48;result[j-1]+=result[j]/10;result[j]%=10;}

}

qsort(zw+1,n,sizeof(zw[0]),cmp);

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

printf("%s\n",zw[i].na);

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

printf("%d",result[i]);

return 0;

}

查看更多回复
提交回复