#includeint main() { int a[1001],i,n,t,m; for(i=0;i<=1000;i++) { a[i]=0; } scanf("%d",&n); for(i=0;i 0) m++; } printf("%dn",m); for(i=0;i<=1000;i++) { if(a[i]>0) printf("%d ",i); } return 0; }
该问题是桶排问题,数组a[t]就是桶,当输入一个t时,a[t]的桶里加一,如果该桶的数值大于零,也就是有我们输入的数,此时m加一,然后输出m可知输入的数中,去重后有几个数,然后利用循环,如果a[i]大于零,则输出i,便可得到去重后的·所有数字。



