去重排序

题意:给出N个数,将其中重复出现的去掉,再将新的序列进行排序输出;

题意:给出N个数,将其中重复出现的去掉,再将新的序列进行排序输出;



#include<stdio.h> 

#include<stdlib.h> 

int cmp(const void *a, const void *b) 

{ 

    return *(int *)a-*(int *)b; 

} 

int main() 

{ 

   int a[101]; 

   int b[101]={0}; 

   int m; 

   int k=0; 

    while(scanf("%d",&m)!=EOF) 

    { 

        int i,j; 

        for(i=0;i<m;i++) 

           scanf("%d",&a[i]);  

         

       for(i=0;i<m;i++) 

          for(j=0;j<m;j++) 

             if(a[i]==a[j]&&i!=j)  

             { a[i]=0;k++;break;} 

        

       qsort(a,m,sizeof(int),cmp); 

          printf("%d\n",m-k); 

         int flag=1; 

           for(i=0;i<m;i++) 

             if(a[i]!=0){ 

                 if(flag){printf("%d",a[i]);flag=0;} 

                 else printf(" %d",a[i]);} 

       

    } 

  return 0; 

} 

 

你可能感兴趣的:(排序)