简单c语言,这个程序的问题在哪?十分感谢!

2025-06-28 07:33:27
推荐回答(1个)
回答1:

原程序就一处错误。请把else if(b[j]=b[j+1])

改为else if(b[j]==b[j+1])就可以了。

其实,这个程序可以简化如下:

#include

int main()

{ int n,i,j,t,t1;

  int a[1000],b[1000]= {0};

  scanf("%d",&n);

  for(i=0; i

  { scanf("%d",&a[i]);

    for(j=a[i]; j; j/=10)b[i]+=j%10;

  }

  for(i=0; i

    for(j=0; j

      if(b[j]a[j+1])

      { t=b[j];

        t1=a[j];

        b[j]=b[j+1];

        a[j]=a[j+1];

        a[j+1]=t1;

        b[j+1]=t;//冒泡排序

      }

  for(i=0; i

    printf("%d %d\n",a[i],b[i]);

}