#include void comp(int k[],int m,int l) { int i=10,j=0,z=1,y=1,x,w,b[500][10]; for(w=0;w0) { z=l/i; i=i*10; ++j; //记录最大数的位数 } i=10; while(j>0) { for(z=0;z<=m;z++) { x=(k[z]/y)%i; b[z][x]=k[z]; } w=0; for(z=0;z<10;z++) for(x=0;x=0) { k[w]=b[x][z]; b[x][z]=-1; w++; } } --j; y=y*10; } for(z=0;z=0) { a[m]=n; ++m; if(n>l) l=n;//记录最大数 scanf("%d",&n); } comp(a,m,l); }