我改了很多次,发现数组a的值并没有错,数组b的值也没有错,但是在后面那个循环排序输出的时候,数据就变成这个样子了,帮看一下,哪里错了
#include <stdio.h>
int main(void){
int a[100],b[100];
int j,n,i;
int k=0;
int temp;
scanf("%d",&n);
for(i=0;i<n;++i){
scanf("%d",&a[i]);
}
int find;
for(i=0;i<n;++i){
find=0;
for(j=i+1;j<n;++j){
if(a[i]==a[j]&&a[i]!=0){
find=1;
a[j]=0;
}
}
if(find==0&&a[i]!=0){
b[k]=a[i];
printf("\n%d",b[k]);
++k;
}
}
for(i=0;i<k;++i){
printf("%d ",b[i]);
}
for(i=0;i<k;++i){
for(j=i+1;j<k;++j){
if(b[i]>b[j]){
temp=b[i];
b[i] = b[j];
b[j] = temp;
}
}
}
printf("\nk=%d\n",k);
for(i=0;i<k;++i){
printf("%d ",b[i]);
}
}