jushdi 2022-09-24 18:32 采纳率: 62.5%
浏览 23
已结题

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

img

img

img

我改了很多次,发现数组a的值并没有错,数组b的值也没有错,但是在后面那个循环排序输出的时候,数据就变成这个样子了,帮看一下,哪里错了

  • 写回答

1条回答 默认 最新

  • a5156520 2022-09-24 19:14
    关注
    
    #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]);
        } 
        
    } 
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 创建了问题 9月24日