原来的程序没有问题啊!
不过程序可以简化的:
#include
int main()
{ int n,i,j,t,m,a[1000],b[1000]={0};
scanf("%d",&n);
for(i=0; i { scanf("%d",&a[i]); for(j=a[i]; j!=0; j/=10) { b[i]+=j%10; } } for(i=0; i { for(j=0; j { if(b[j+1]>b[j]||b[j]==b[j+1]&&a[j+1]
{ t=b[j]; m=a[j]; b[j]=b[j+1]; a[j]=a[j+1]; b[j+1]=t; a[j+1]=m; } } } for(i=0; i printf("%d %d\n",a[i],b[i]); return 0; }