洛谷,明明的随机数,帮改一下

img

img

img

我改了很多次,发现数组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]);
    } 
    
}